在这个特别的日子里,记录一下这个有点冷门的知识点吧,搞了很久,终于可以了。
基础内容就不讲了,大家都有讲到。
我是因为最开始得到的是.dll文件,由MATLAB进行调用,用的是MATLAB7
现在我需要用运算更快,内存更大的MATLAB18,所以我需要重新用MATLAB18生成64位的.mexw64文件。
进入正题:
首先你得有Mingw-w64 ,注意你的MATLAB用的是什么版本(其他大佬有提到怎么查询自己的版本),MATLAB18b用的是Mingw-w64 gcc6.3.0
将你的文件放在你想放的地方,我是放的c盘,然后在MATLAB中输入setenv('MW_MINGW64_LOC','C:\mingw64') 运行
然后再输入:mex -setup 运行
设置环境变量

编译你的.c文件生成 .mexw64文件
1、如果你的c文件就是64位的那就直接
mex 文件名.c 运行
可以在文件名前加上文件存储位置 mex C:文件夹\文件名.c
2、如果你的.c文件是之前32位编写的,那么可以用
mex -compatibleArrayDims 文件名.c

注意: 32位的.c文件用mex 文件名.c 运行生成.mexw64文件,不会报错,但是用起来不对,具体什么原因,我也不清楚了。
具体的mex阐述可看下面的MATLAB帮助文件链接
本文详细介绍了如何将MATLAB7的.dll文件升级到MATLAB18的64位.mexw64文件,包括设置Mingw-w64环境、配置 mex-setup、识别MATLAB版本以及针对32/64位.c文件的编译方法。
1722

被折叠的 条评论
为什么被折叠?



