vs2010中MEX文件建立与调试

来源:互联网 发布:vmware 安装原版mac 编辑:程序博客网 时间:2024/05/20 06:28

***************************************************

更多精彩,欢迎进入:http://shop115376623.taobao.com

***************************************************

http://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-9510581626.24.ZO6sko&id=43401674106
精通MATLAB混合编程视频讲解
MATLAB各类函数视频讲解
基于MATLAB的高等数学问题求解 
MATLAB函数速查视频讲解
面向对象C++视频教程

精通MATLAB混编编程demo及PDF 

QQ:2911984429

http://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-9510581626.24.ZO6sko&id=43401674106



详细见上传图片

1、创建一个win32 DLL空项目


项目属性里 c++下的常规附加包含目录 加入matlab下安装目录下\extern\include
链接器->附加库目录加入\extern\lib\win32\microsoft
连接器->附加依赖项输入 libmx.lib libeng.lib libmat.lib libmex.lib
(如果是64为系统,则再相应包含64位的目录,并且在连接器->高级->目标计算机设置成machineX64,
生产->配置管理器->平台改为x64,)【见下图右上角“配置管理器”】

在链接器的输出文件里改成 $(OutDir)$(TargetName).mexw32(64位系统相应改成64)


2) 添加源文件
示例:
#include "mex.h"
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
{
mexPrintf("Hello,world!\n");
}
添加def文件
代码:
LIBRARY
EXPORTS mexFunction


3)生产解决方案
即会生产一个mexw32文件
4)调试
将matlab的current folder 设置成mexw32文件所在的路径

vs2010-调试-附加到线程-选择matlab


(图中已经附加,故显示为灰色)
源代码里设置断点
matlab下输入代码或者函数(即mexw32文件的文件名),即会跳转到vs的断点处。
(未设置断点时的输出)

ps:在调试的时候 matlab会处于假死的状态,不能点击,不能移动,不知为什么。就算用官员的例子也一样。