matlab导出dll及c++调用matlab初始化异常处理

itlao6 原创 开发&源码 C++评论824字数 719阅读2分23秒阅读模式

c++调用matlab的dll,折腾了一天时间,在matlab初始化时候报错“异常:0xc0000005:读取位置0x0000000000000008 时发生访问冲突”;刚开始怀疑是matlab到处的dll有问题,自己装了个matlab重新导,还是同样的错误,已经确保了matlab,dll,vs都是64位

matlab导出dll及c++调用matlab初始化异常处理
c++调用matlab异常.jpg

dll导出

1. deploytool工具导出dll

在matlab命令行输入deploytool,选择Library Complier。在窗口选择C++ Shared Library, Add exported functions中选择对应的*.m,然后点击右侧Package即可文章源自IT老刘-https://itlao6.com/704.html

2. 命令行mcc导出dll
mex - setup
mbuild - setup
mcc - W cpplib : mydllAdd - T link : lib *.m

ps: 这两种方式,方法1deploytool导出后.h中没有我定义的方法,使用方法2命令行导出正常,这里暂时没去深究。文章源自IT老刘-https://itlao6.com/704.html

异常:0xc0000005处理

c++中调用matlab初始化时,出现异常:0xc0000005:读取位置0x0000000000000008 时发生访问冲突,针对这一问题,因为我们是64位,只需要在异常设置中取消勾选Win32 Exceptions即可。ps: Win32 Exceptions项在vs调试-->窗口-->异常设置中(快捷键Ctrl + Alt + E)文章源自IT老刘-https://itlao6.com/704.html

原文:简书ThinkinLiu 博客: IT老五文章源自IT老刘-https://itlao6.com/704.html

作者:ThinkinLiu
链接:https://www.jianshu.com/p/6e4ad2056f0d
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。文章源自IT老刘-https://itlao6.com/704.html

文章源自IT老刘-https://itlao6.com/704.html文章源自IT老刘-https://itlao6.com/704.html
weinxin
我的微信公众号
微信扫一扫关注公众号,不定时更新
itlao6
  • 本文由 发表于 2018年 12月 12日 15:55:46
  • 转载请务必保留本文链接:https://itlao6.com/704.html
评论  0  访客  0
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定