混编C++调用matlab生成的库无法调试出错崩溃
本文章用于记录matlab与c++混编问题,.m文件转c++动态库,由c++工程调用,但是默认情况下,vs在调试模式下,会出现崩溃退出的现象,如果你也出现这个问题,请继续往下看。
我的环境是win7+matlab2017a+vs2015。
matlab生成c++库…略
c++引用matlab生成的库…略
debug已添加matlab生成库工程,无法进入断点,而且提示如下错误:
解释,这里说的调试,不是说调试进入matlab代码,而是到matlab库入口处,或者说是MyAddInitialize()函数,一般在这里出现崩溃
但是,直接生成release版本,然后运行exe文件,是没有任何问题的。
现在就是要解决,如何在vs调试下,调用matlab库:
有两种方案,都是来自网络,一下子找不到源链接,就不附了。
推荐方案一:
vs菜单栏/调试/窗口/异常设置——>将异常设置中的 win32 exceptions选项全不选中,即可!具体见图示:
方案二:
选择exe工程,右键,属性/调试/调试器类型/改为仅限托管
该方案只能不出现崩溃,无法进入断点。故不推荐使用。