matlab MEX文件在vs2017下的调试:
mex文件编的我太心累了,调试起来太麻烦,但没办法,谁让matlab好用呢。。。以下是自己查找资料的总结。
mex文件其实就是dll文件,因此可以通过visual c++调试,本文使用的是vs2017和matlab2014a。
1)新建一个win32 dll 空项目
- 项目属性里 c++下的—常规—附加包含目录— 加入matlab下安装目录下R2014a\extern\include
- 配置属性—常规—配置类型—动态dll
- 链接器—附加库目录—加入R2014a\extern\lib\win32\microsoft
- 连接器—附加依赖项—输入 libmx.lib libeng.lib libmat.lib libmex.lib
- 在链接器—常规—的输出文件里改成$ (OutDir) $(TargetName).mexw32(64位系统相应改成64):这里是输出文件函数命名问题,后缀对了就能用
- 生产—配置管理器—平台改为x64
- 如果是64位系统,则再相应包含64位的目录,并且在链接器—高级—目标计算机设置成machineX64
2) 添加源文件
示例:hello.c
#include “mex.h”
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[]){
mexPrintf(“Hello,world!\n”);
}
添加def文件代码: