1、VS2010建立win32 console application,选择Empty project,添加C源文件。
2、右键项目:
在属性-> VC++目录->包含目录下加上:
…\Program Files\MATLAB\R2011a\extern\include
在属性-> VC++目录->库目录下加上:
…\Program Files\MATLAB\R2011a\extern\lib\win32\microsoft
3、引用库文件,在代码中添加:
#pragma comment(lib, "libmx.lib")
#pragma comment(lib, "libmat.lib")
#pragma comment(lib, "libeng.lib")
也可以在Project->Properties...选择Configuration Properties下的Linker->Input,在Additional Dependencies栏目中输入项目需要引用matlab的的lib文件库。
例如:libeng.lib;libmx.lib;libmex.lib等。不过我倾向于前者,这样在发布源码的同时, 就尽最大可能地保证能够编译,而不用其他人学习的时候再去设置。
4、加载matlab引擎 :
在代码中添加 #include "engine.h"
5、如果编译通过,但提示运行缺少dll的问题,需要在我的电脑->属性->高级->环境变量->系统变量下的path中加入…\Program Files \MATLAB\R2011a\bin\win32的路径,然后重新启动VS,打开工程运行即可。
6、附录代码
#include "engine.h"
#include
#pragma comment(lib, "libmx.lib")
#pragma comment(lib, "libmat.lib")
#pragma comment(lib, "libeng.lib")
void main()
{
Engine *ep; //定义引擎指针
int status=0;
ep=engOpen(NULL);
if (ep==(Engine *)NULL)
{
printf("错误,无法打开引擎\n");
exit(-1); //退出程序
}
engEvalString(ep,"mesh(peaks);");
getchar();
status=engClose(ep);
}