MATLAB编译成C后在Linux下的调用问题
时间:10-02
整理:3721RD
点击:
本人在做Reference Model时想通过MATLAB转C再通过DPI调用,目前在windows下能够用C调用MATLAB生成的C函数,现想拷贝到Linux下,该MATLAB程序实现简单的矩阵乘法:
gcc test2.c libMyMulti.c -o test2 -L /home/project_xu/C/mat_lib/ -I /home/project_xu/test2/ -L /home/project_xu/test2/
MATLAB的库文件都在/home/project_xu/C/mat_lib/以及下,生成的库文件在/home/project_xu/test2/下
编译结果:
libMyMulti.c: In function ‘bool libMyMultiInitializeWithHandlers(int (*)(const char*), int (*)(const char*))’:
libMyMulti.c:95: 错误:‘GetModuleHandle’在此作用域中尚未声明
libMyMulti.c:95: 错误:‘path_to_dll’在此作用域中尚未声明
libMyMulti.c:95: 错误:‘_MAX_PATH’在此作用域中尚未声明
libMyMulti.c:95: 错误:‘GetModuleFileName’在此作用域中尚未声明
libMyMulti.c:101: 错误:‘path_to_dll’在此作用域中尚未声明
请问各位有目前恰好在搞这个的吗,可否指点一下
想问一下lz的gcc版本是多少的?我现在也在做这方面的尝试,在linux下想生成matlab的dll文件,error信息说我gcc版本不够。
我前几天还是在Windows下尝试的,matlab下编译出来的C代码功能正确,今天才打算开始在linux下尝试,gcc版本4.4.7,matlab版本2012,还未安装,希望兼容。
以后可以多交流
楼上两位好!
在下也摊上了matlab转C的活,能不能劳烦指导一下,刚开始不知道从哪下手。比如说工具方法之类的给小弟透露点,好有个方向。
据有些人说,matlab 2014b不能转,是这样的吗?除了matlab还需要装其他东西吗?如能提示感激不尽。