MATLAB调用C/C++编写的文件,例 .dll .mexw64等

来源:互联网 发布:月光宝盒 mp3 知乎 编辑:程序博客网 时间:2024/06/05 15:06

先说一下我的电脑配置:win10, 64位系统, VS2015, Matlab2016a。

导师给了用C++改进的MATLAB函数,如下图,对于一枚小白,一看就傻眼,这可运行啥。


先看一下能看懂的,例如xxx.txt。原来要MATLAB运行.dll文件,那咋调用,先搜搜。

参考博客:http://blog.csdn.net/uselym/article/details/18659505

1.首先要准备编译器,在Matlab的命令窗口输入:mex -setup;

果不其然,出错,错误使用mex。

需要下载TDM-GCC(64位)的安装文件。我下载的是下图这个。对于这种不知道有什么用得高大上软件,我的做法就是按照提示默认安装。下载地址:http://tdm-gcc.tdragon.net/download


接着,在计算机的环境变量中创建环境变量MW_MINGW64_LOC,设置为TDM-GCC-64的安装位置,如图;


最后, 在matlab中输入:setenv(‘MW_MINGW64_LOC’,‘安装路径’); 重启matlab,mex就可以使用了。

参考博客:http://blog.csdn.net/catherine627/article/details/70472848

2.mex能用了,接下来就是将C/C++的软件编译成MATLAB可以使用的。

>>mex XXX.cpp XXX.lib

或者>>mex XXX.cpp XXX.cpp

成功出现 .mexw64 文件。MATLAB是可以直接调用的。(貌似 .dll 文件新版本不支持了,要使用.mexw64或者.mexw32

3.创建函数环境变量(不是很确定,这一步是不是必须的,我的这样可以)

mXXX.mexw64,将其名字添加到计算机环境变量中,地址为其所在文件夹。


再运行一下程序,好了,大功告成。大笑大笑大笑

如有问题,欢迎指摘。617340379@qq.com