您当前的位置:matlab资源网文章中心资料 → 文章内容

MATLAB6p5 与VC.NET 混合编程配置

作者:liaomch1983  来源:转载  发布时间:2008-8-6 7:57:37

第一步:解压msvc71patch.exe (注意目录是如D:\matlab6p5,怀疑他的版本是matlab6p5p1,所以解压出来的matmtxif.h 、stdexcpt.h有点问题, 解压出来的文件所在目录参考下面紫色字体)

根据不同的系统,不同的VS、matlab版本,需注意系统变量中,PATH 值、INCLUDE值、LIB值和与msvc71compp.bat等批处理文件的set PATH= …、set INCLUDE=…值是否对应,其它可能还要看

VS71COMNTOOLS (如D:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools)

MSVCDir(如D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7)

DevEnvDir(如D:\Program Files\Microsoft Visual Studio .NET 2003\ Common7\Tools)   是否正确

 

第二步:如果版本是matlab6p5 (6p5p1可能不用,待测试),拷贝当前目录下的matmtxif.h  、 stdexcpt.h到“%matlab%extern\include\cpp”中相应的文件。将MSVCIRT.LIB拷贝到“%matlab%extern\lib”中

注意以下文件安放目录:(%MATLAB% 表示个人电脑的matlab安装目录)

msvc71opts.stp            %MATLAB%\bin\win32\mexopts\

msvc71opts.bat            %MATLAB%\bin\win32\mexopts\

msvc71engmatopts.bat %MATLAB%\bin\win32\mexopts\

msvc71compp.stp               %MATLAB%\bin\win32\mbuildopts\

msvc71compp.bat               %MATLAB%\bin\win32\mbuildopts\

 

%MATLAB%\extern\lib\win32\libmatpm.lib

%MATLAB%\extern\include\cpp\stdexcpt.h

%MATLAB%\extern\include\cpp\matmtxif.h

 

%MATLAB%extern\lib\MSVCIRT.LIB

 

第三步:然后在matlab  命令行中输入:mbuild –setup,选择VS2003 .net (或VC7.1)

Mex  build的过程和上面类似,只要将相应的文件拷贝到matlab的“bin\mexopts”目录中就可以配置

 

 

现在可以用mcc命令将m文件编译成库文件或者exe文件了,并且可以在vc7.1上直接调用matlab c++函数库了,在vc8.0上配置c++函数库与此类似:

1.  菜单->”工具”->”选项”->”项目和解决方案”>”vc++目录”

   “包含文件”中添加下图中的最后两项(当然时对应你自己的matlab目录)

 

 

若电脑上同时安装了matlab6.x和matlab7.x时,在用6.x混编时,将7.x的安装文件夹修改名字,如D:\MATLABxxx(使用7.x时可类似处理),同时选项目录中应选择如下:

 

 

 

“库文件”中也添加下图中的最后两项

 

 

 

 

 

 

 

 

 

 

2. 在你的工程文件的属性中配置   ”预处理器定义”,变为如下值

Debug对应: WIN32;_WINDOWS;_DEBUG;MSVC;IBMPC;MSWIND

Releas对应: WIN32;_WINDOWS;NDEBUG;MSVC;IBMPC;MSWIND

 

 

3. 定义库文件

在”链接器”->”输入”->”附加依赖项”中添加

libmmfile.lib libmatlb.lib libmx.lib libmat.lib libmwservices.lib libmex.lib libut.lib libmatpm.lib sgl.lib libmwsglm.lib

注意在Debug模式下 “忽略特定库”中添加msvcrt.lib

 

4. 最好在“项目属性-> C/C++ -> 预编译头 -> 创建/使用预编头 ”中选择“自动生成(/YX)” 以避免“fatal error C1010,在查找预编译头指令时遇到意外的文件结尾”,其它地方同海妖提供的配置方法,即可实现VC 2003 .net与matlab6p5混编

 

 

好了,配置完成了,现在你在vc6.0中怎么用,在这里就怎么用,呵呵或许matlab的函数库和vc8.0兼容有问题,  不过我到目前为止还没有发现错误,嘿嘿,.目前在放心的用

文章评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 -