为什么我收到一个“未解决的外部符号”错误在链接阶段当我试着从DSP Blockset编译生成的代码块吗?

33视图(30天)
我试图使用嵌入式编码生成的代码。没问题,如果我从模型库和定点Blockset模型包含块。万博1manbetx然而,当我试图利用DSP blockset的街区,我得到以下错误的“未解决的外部符号”在链接阶段。例如,如果我使用了“FFT”块,我将得到以下错误:
错误LNK2001:未解决的外部标志 _ MWDSP_DblLen_TBL_Z
错误LNK2001:未解决的外部标志 _ MWDSP_R2DIT_TBLS_Z
错误LNK2001:未解决的外部标志 _ MWDSP_FFTInterleave_BR_D

接受的答案

MathWorks支万博1manbetx持团队
为了避免这个错误,您需要包含所需的文件在你的编译器程序。
1。首先,你需要打开你的模型,利用DSP Blockset块,然后看着每个块是否使用一个功能块。
如果使用它,记录功能名称和查看相应的TLC文件功能。相应的TLC文件的名称将作为s函数名称相同的名称。
例如,FFT块使用一个名为“sdspfft2.dll”的功能。你需要定位“sdspfft2。薄层色谱”以下目录:
美元MATLABROOT \工具箱\ dspblks \ dspmex \ tlc_c
然后做一个搜索关键字:“Include_rt_header”。
一个典型的线是这样的:
% < Include_rt_header(块,“dspfft_rt”) >
然后需要添加所有头文件在你的编译器程序。头文件可以在以下目录:
MATLABROOT \ \ dspblks \工具箱包括美元
2。在生成的代码模型之后,您应该看到一个C源文件称为模型。c,模型仿真软件模型的名称。万博1manbetx
开放模式。c,寻找所有行开始:
MWDSP_.....
在Windows中,去“搜索文件和文件夹”,执行搜索的文本在MWDSP_以下文件夹:
美元MATLABROOT \工具箱\ rtw \ dspblks \ c
例如,如果您使用FFT块,您将看到一条线:
&untitled_P MWDSP_FFTInterleave_BR_D (&rtb_FFT [0]。Constant_Value [0], 1、4);
在模型中。c文件。你应该搜索“FFTInterleave_BR_D”文件夹美元MATLABROOT \工具箱\ rtw \ dspblks \ c。
这将带回来一个C文件称为“fft_interleave_br_d_rt.c”结果。您还需要这个C源文件包含在您的编译器程序。
你需要做这每MWDSP_ ....线出现在模型中。c文件。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!