***************************************************
更多精彩,欢迎进入: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,)【见下图右上角“配置管理器”】
 
 在链接器的输出文件里改成 
 
 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会处于假死的状态,不能点击,不能移动,不知为什么。就算用官员的例子也一样。