您的位置:首页 > 编程语言 > MATLAB

VS2010 调用 Matlab2011a

2013-11-01 09:23 357 查看
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 <stdio.h>

 

#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);

}



转发至微博
 



转发至微博
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: