软件版本:
matlab2020b
vs 2019
我就简单介绍几个踩坑点
1.代码环境
因为我用的是别人已经写好的工程文件,因为用vs打开时会保留之前的编辑信息
因此导入的时候一定要在属性里把自己的配置更新进去,
- 在项目名称上右键 -> 属性即可打开项目属性页。
- 配置属性->C++ ->附加包含目录,加入MATLAB目录下的\extern\include 路径
- 配置属性->链接器->附加库目录,加入MATLAB目录下的\extern\lib\win64\microsoft路径
2. 插件缺失
在生成mex64文件的时候,会提示LINK Error 无法找到 mscoree.lib
解决办法:
在.NET framework 的SDK里面,应该是任何一个framework的SDK包都可以。找到一个合适的版本安装,我这里装的是4.6.2
3.运行调试
设置断点,附加进程
这里有个坑
我的代码是在matlab里面调用已经生成的mex64文件,而且和vs工程生成的文件不在一个文件夹内。我直接在matlab代码中进行调试,疯狂报错,根本无法进入正常调试
报错都是空指针,无指向源
正确做法:
命令行输入生成的mex64文件,当前路径设置在vs工程下
顺利调试!
调试结束后再将文件复制到matlab下