首先,按这样设置,
[填坑]VS2017与MATLAB2016b混合编程(生成dll方式)_清凉简装的博客-CSDN博客_matlab生成dllMATLAB 生成 dll 前的工作1、配置MATLAB环境控制面板->所有控制面板项->系统->高级系统设置->高级->环境变量Path一栏,后面追加:C:\ProgramFiles\MATLAB\R2016b\bin\win64 (32位为win32)更改环境变量后,请重启电脑,否则VS将出现:LINK : fatal error LNK...https://blog.csdn.net/qq_20515461/article/details/81229726然后注意,Matlab2016 与vs2015 混编(生成dll动态链接库)_飞舞哲-CSDN博客关于混编的配置请移步下面的博客,笔者用的是Matlab2016b与Matlab2016进行混编的。 http://blog.csdn.net/wind_liang/article/details/51402224 博客里面非常详细的讲解了应该如何配置 Vs 以及利用matlab生成 dll 文件,这里不再赘述。混编期间遇到了不少的问题,下面主要将遇到的问题写
https://blog.csdn.net/qq_37469992/article/details/77575049运行到到mArray变量的时候就会引发的异常0xC0000005:读取位置发生访问冲突,就是因为mwArray没有初始化,初始化mwArray就是要初始化(在main函数里面最开始就放下面代码):
mclmcrInitialize();if (!mclInitializeApplication(NULL, 0)){std::cout << "Could not initialize the application.\n";return -1;}
接着开始调试,我这里会出现很多类似这样的:
“cempie.exe”(Win32): 已加载“G:\CODES\CEMPIE\cempie\x64\Debug\libmx.dll”。无法查找或打开 PDB 文件。
“cempie.exe”(Win32): 已加载“C:\Windows\System32\ucrtbase.dll”。已加载符号。
“cempie.exe”(Win32): 已加载“G:\CODES\CEMPIE\cempie\x64\Debug\mclmcrrt9_8.dll”。无法查找或打开 PDB 文件。
不过没管还是没啥问题(目前),反正按各种教程,调试里面勾个源服务器什么的还是总会有几个感觉很重要的还是打不开,先不管吧。
然后,是不是有人什么都按上面的做好了,但TM就是出现异常0xC0000005:读取位置发生访问冲突?!!(为什么我这么激动,因为TM我程序之前还可以好好初始化,我就放它几天,结果前天打开居然报错,折磨了我两天!找遍了各种原因,还想是不是无法查找或打开某个 PDB 文件的原因忙活了很久),好兄弟,有没有DirectX修复工具?没有赶紧下一个!(360在我运行程序的时候就说我C++程序有问题,我就点击修复下了Direct,360好兄弟啊!不过前面不知道咋的就是扩展不了,今天发现是因为没给D兄升级,升完级就能扩展C++,然后按提示重启电脑就能初始化了)。