项目中遇到一个问题,需要用c++调用matlab程序,这里记录下整个过程。
准备环境
matlab 2014a
visual studio 2010
PS:版本问题要注意,之前是visual studio 2017,这个就一直报错(笑cry),matlab比较难安装,所以一般来说调节visual studio版本就好了。
matlab设置visual studio的c++编译
在MATLAB命令行输入:mex –setup;
然后命令行继续输入:mbuild –setup,选择已安装的VC编译器。
matlab 函数编译生成 dll
mcc -W cpplib:MatPredictGPS -T link:lib ../predict_gps.m
其中MatPredictGPS为生成的文件名
cpplib,是指编译成C++的lib
-T表示目标,link:lib表示要连接到一个库文件的目标
../predict_gps.m为需要生成dll的函数。
PS:如果predict_gps.m依赖其它matlab函数,可以将依赖的函数一并放在后面,用空格分开就好。
命令运行后生成以下文件: