matlab mex使用错误:undefined reference to `filter()‘collect2.exe: error: ld returned 1 exit status

项目场景:

使用mex,在matlab中编辑文件,提示mex错误使用,代码查找没有问题,头文件也include进来。


问题描述:

错误使用 mex
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
C:\Users\**.TAN\AppData\Local\Temp\mex_31995362517422_3608\main.obj: in function `DealData':
E:/c_code/main.c:88: undefined reference to `filter()'
collect2.exe: error: ld returned 1 exit status

 

原因分析:

说明是编译时出现了问题,而非单纯代码问题。


解决方案:

主要原因是编译时没有包含这个函数所在的文件

mex -g swim_main.c process.c 

出现问题的文件就是process.c,刚刚只使用了mex -g swim_main.c

你可能感兴趣的:(matlab)