项目场景:
使用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