(版本通用)MATLAB R2017b 64位和VS2015联合编译 Joint programming of MATLAB R2017b 64bit and VS2015

(版本通用)MATLAB R2017b 64位和VS2015联合编译

Joint programming of MATLAB R2017b 64bit and VS2015

使用软件
WIN10(64位)
MATLAB R2017b(64位)
VS2015

为了做联合编译可花了一段时间,因为还要兼容相应的OpenCV,换了各种MATLAB和VS版本,被网上说的32位和64位唬得一愣一愣的,什么版本也都算试过,系统也差点濒临重装,以为重装才能解决,最后还是搞好了。
先贴步骤吧,32位64位是共通的,只是64位多了一步。PS:需严格按照步骤,不是做底层的,会遇到各种各样的情况,同一现象也可能是不同原因。
我现在的代码做到了1500行的MV联合编程+OpenCV2.4.13+双线程+Mat文件调用+串口通信,所以以下步骤配置是大致通用的。
32位配置步骤和经验如下:
参照百度经验就足够了:https://jingyan.baidu.com/article/6b182309a497b0ba58e159b4.html
64位配置步骤和经验如下:

  1. 系统中添加环境变量,步骤为:“计算机”右键–“属性”–“高级系统设置”–“高级”–“环境变量”–“系统变量”–“path”。
  2. 在path中添加C:\Program Files (x86)\MATLAB\R2017b\bin\win64(修改为你安装matlab的bin下面的win64目录);C:\Program Files (x86)\MATLAB\R2017b\bin(修改为你安装matlab的bin目录);D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin(修改为你安装VS的VC下的bin目录);修改完成后点确定,然后重启计算机。(注意:这里不要删除原MATLAB安装时的任何环境变量,把路径加在他们下面就好,也不要调整上下位置)编辑环境变量
  3. 设置matlab编译环境,这里我们会生成.dll,.lib,.h这三类文件。具体步骤如下:打开matlab2017b,然后写个简单的script。接着打开matlab主窗格,输入mex -setup,选择mex -setup C++,接着输入mbuild -setup,选择C++。
  4. 接着输入 mcc -W cpplib:libMyAdd -T link:lib MyAdd.m,等待matlab生成.h,.lib.dll等文件,这个要比上面两个稍慢点。这里matlab配置完成。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  5. 打开VS2015,新建一个项目,win32控制台程序。然后打开新建项目的属性页。
  6. 剩下的步骤与百度经验: https://jingyan.baidu.com/article/6b182309a497b0ba58e159b4.html 中区别仅在于对于VS配置地址中的所有32位的相关配置地点改成64位的,如果64位的某些文件夹里没有所述地址或者所述文件夹就不要了,大胆选,没有问题。(上述步骤部分借鉴该经验,虽然软件系统都不同,但是VS配置步骤是共通的)
  7. 这里要注意的是,VS如果需要配置Release的话,相应的配置开启界面应不同,一一对应。
    在这里插入图片描述
  8. 那么我们就来到了问题阶段,在64位环境中,配置上述步骤确认无误后程序总是中断报错,这是因为VS的异常设置中C++出现异常就中断报错,这里把引发时中段的第一项C++ Exceptions和Win32 Exceptions前面的勾或者框去掉即可(非常重要,能解决绝大多数的问题)。
    在这里插入图片描述
  9. 确定了VS和Matlab版本以后出现错误,要相信是自己配置的问题,重装软件和重装系统没有任何用,虽然我师兄说有用,然而在我痛定思痛重装以后连出现的错误都和之前一样emmm。
  10. 严格按照步骤,可做变通,但不可作改变
  11. 在成功用了一段时间以后,有一天运行了VS突然就闪退,这个时候不要怀疑自己前一天晚上看了啥做了啥WIN10是不是偷偷自己更新了,录个小视频,就会发现程序界面出现一行字,未定义函数或变量‘matlabrc’,好的,MATLAB生成的文件出错了,重新上述生成三个文件的操作,这种情况经常发生,在我做实验的这一年里半个月出现一次。
  12. 最后,感谢自己没有放弃坚持了下来,第一次写blog,若有不清楚的欢迎提问,见谅。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值