我有一个具有信号处理和机器学习功能的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)这个错误到底告诉了我什么?我不知道如何调试它,也不知道从哪里开始/查看。
发布于 2017-06-28 22:29:49
你真的刚刚打电话给
$ gcc predictActivityFromSignalBuffer.c没有任何其他依赖关系?通常会出现许多其他文件,这些文件具有必须链接的代码生成。
我不知道您做了什么来生成您的.c文件。我建议通过键入以下命令来使用编码器向导
coder在Matlab命令窗口中。这将指导您完成代码生成的整个过程,并提供大量的支持和测试可能性。您还可以选择将函数编译为随时可用的DLL库或可执行文件。就看一眼吧。
https://stackoverflow.com/questions/44792360
复制相似问题