vs 与matlab 联合编译

软件版本:

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下

猜你喜欢

转载自blog.csdn.net/ltd0924/article/details/120668666