1、平台
OS:Windows10
matlab为2014a版本,通过在matlab命令行输入mex编译命令:mex -setup 查看到当前mex编译器是否就绪,如果本机同时已经安装了VS studio2013以及之前版本,则此时会有提示指定C++编译器,直接选择即可。
如果mex -setup命令的结果是没有C++编译器,则有可能是未安装,或者是matlab版本跟VS studio版本不匹配,可以查看mex提示的文档,找到当前matlab相匹配的C++编译器,安装之后再尝试mex -setup命令
2、编译
当通过mex命令指定好了C++编译器之后,则可在matlab中编译写好的XX.cpp文件,这里不讨论cpp具体代码编写规范,如有需求请另找教程;
首先将matlab当前工作目录定位到cpp文件所在目录,跟cmd命令一样,直接使用cd 目录名,即可。
然后使用mex命令进行编译,如果是单个cpp文件,直接 mex xx.cpp,如果是多个文件,比如A.cpp文件中还引用了B.cpp中的代码,甚至B还引用了C.cpp中的代码,那么mex命令后面需要跟多个cpp文件名,此时需要注意,生成的mexw64或者mexw32库文件名称是以mex命令之后跟的第一个cpp文件的名字确定的,所以,在使用mex命令编译多个cpp文件的时候,应该把主要的cpp文件放在最前面,如mex A.cpp B.cpp C.cpp,即可生成名为A.mexw32或者A.mexw64的库文件以供matlab调用。
这里的mexw32和mexw64中,mex之后的w指的是windows系统,32和64指的是32位还是64位编译器。