MATLAB生成的C代码编译错误

时间:2017-06-28 01:39:39

标签: c matlab

我有一个MATLAB函数,它有信号处理和机器学习,我想在另一个操作系统上测试它,比如linux。所以我使用codegen为该函数生成C代码。当我在命令行上运行它(predictActivityFromSignalBuffer)时,这就是我得到的:

MacBook-Pro-2:predictActivityFromSignalBuffer kareem$ gcc predictActivityFromSignalBuffer.c
Undefined symbols for architecture x86_64:
    "_featuresFromBuffer", referenced from:
       _predictActivityFromSignalBuffer in predictActivityFromSignalBuffer-1a1886.o
    "_main", referenced from:
      implicit entry/start for main executable
    "_mynn", referenced from:
      _predictActivityFromSignalBuffer in predictActivityFromSignalBuffer-1a1886.o
    "_rtIsNaN", referenced from:
      _predictActivityFromSignalBuffer in predictActivityFromSignalBuffer-1a1886.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这个错误到底告诉我什么?我不知道如何调试这个或从哪里开始/看。

1 个答案:

答案 0 :(得分:2)

你真的打过电话吗

$ gcc predictActivityFromSignalBuffer.c

没有任何其他依赖关系?通常会出现很多其他必须链接代码生成的文件。

我不知道您为生成.c文件所做的工作。我建议输入

来使用编码器向导
coder

在Matlab命令窗口中。这将指导您完成整个代码生成过程,并提供大量支持和测试可能性。您还可以选择将函数编译为可立即使用的DLL库或可执行文件。看看吧。