matlab建立mex,手把手教你在VC++中建立MEX文件及调试

在Visual C++中建立MEX文件及调试

在Matlab环境中可以方便的编辑MEX文件,而编译MEX文件只要一句mex命令,所以一般不需要VC++环境来建立MEX文件。但对于大型的MEX程序,可能会比较复杂,容易出错,这时可以利用Visual C++强大的调试功能。下面通过一个简单的例子说明如何在Visual C++中建立及调试的步骤。

问题:在Visual C++中建立MEX文件,功能是在Matlab控制窗口中输出“Hello Matlab World”

1. Visual C++中MEX文件的建立

(1) 建立DLL工程

在Visual C++中创建一个MFC DLL工程,命名为MexDemo,如图1所示

图1 创建MFC DLL工程

(2) 设置输出函数

打开MFC DLL工程中的MexDemo.def文件,需要在其中定制DLL文件的输出函数,在def文件中的EXPORTS项中添加mexFunction一行,设置后,MexDemo.def文件内容如图2所示:

图2 MexDemo.def文件内容

(3) 添加应用程序代码

在工程中新建一个C++源文件,命名为main.cpp,将该文件添加到工程的源文件中,功能是输出一行"Hello Matlab World!"。如图3和图4所示:

图3 添加main.cpp文件

图4 main.cpp文件内容

(4) 编译器设置

因为C++文件中含有Matlab的库函数,要在Visual C++中成功编译此类MEX文件的话要对编译器做一些必要的设置,下面以Microsoft Visual C++ 6.0为例做如下设置。

添加include 路径

打开“Project setting”→“C/C++”→“Preprocessor”→“Additional include directories”,添加Matlab外部接口的include目录,本机为"I:\Program Files\MATLAB\R2007b\extern\include"。详细情况如图5所示:

图5 添加头文件目录

添加lib路径

打开“Project setting”→“Link”→“Input”→“Additional library path”,添加Matlab外部链接库的目录,本机为"I:\Program Files\MATLAB\R2007b\extern\lib\win32\microsoft"。详细情况如图6所示:

图6 设置库文件包含目录

添加链接库

打开“Project setting”→“Link”→“General”→“Object/Library modules”,添加附加依赖项libmx.lib、libeng.lib、libmat.lib以及libmex.lib,详细情况如图7所示:

图7 添加附件库文件

(5) 编译

设置好Visual C++的编译器后,就可以编译此工程了,编译成功后,在debug文件夹中会生成MexDemo.dll链接库文件。

(6) 运行

在Matlab环境下,把debug目录设为当前目录,然后在Matlab控制窗口中输入MexDemo,在Matlab控制窗口中得到结果:

Hello Matlab World!

>>

如果看不到图 可以下载附件,pdf文件中有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值