使用vs c++调用matlab动态库时发现如下错误 0xC0000005
然后我将引用动态库的地方删除,也会有上面那个错误。我使用debug调试跟进去发现报错的地方如下:
应该是在使用mwArray的时候报的错误,这个是matlab提供的类型,接口使用应该没有问题。
最终发现是使用matlab接口需要使用如下代码片段进行初始化
if (!mclmcrInitialize())
return false;
另外在使用matlab转换后的dll前也需要调用动态库的初始化函数,使用后再调用终止函数。
这两个函数可以在生成动态库的同级目录的H文件中找到,末尾分别以Initialize和Terminate结尾
if (!IRIjisuanchengxuInitialize())
return false;
IRIjisuanchengxuTerminate()