进行了两天的测试,用Matlab混合编程有太多的苦楚,遇到的问题很多,谁叫Matlab有这么强大的功能。Matlab混合编程有好几种方式,引擎方式的优点是实现较为方便,基本可以用到Matlab的所有功能;缺点是移植性不好,需要目标机安装Matlab程序。本篇文章介绍C++的连接方式,已测试成功。
配置环境:vs2013(64位)+Matlab2013a(64位)+win8.1(64位)
以Matlab安装路径:C:\Program Files\MATLAB\R2013a为例
环境变量:
C:\Program Files\MATLAB\R2013a\bin\win64;
C:\Program Files\MATLAB\R2013a\bin;
包含目录:
C:\Program Files\MATLAB\R2013a\extern\include;
C:\Program Files\MATLAB\R2013a\extern\include\win64;
包含库目录:
C:\Program Files\MATLAB\R2013a\extern\lib\win64\microsoft;
链接器->输入:
libeng.lib;libmx.lib;
示例代码:
#include "stdafx.h"
#include"engine.h"
int _tmain(int argc, _TCHAR* argv[])
{
}
PS:
出现错误:错误
原因:兼容性问题,Matlab2013a只支持64位,需要将VS项目调整为64位
解决方法:在配置管理器进行配置,平台选择X64即可