想使用VS2019+matlab2017b进行联合编程,结果老是找不到VS19的编译器。
问题:
低版本的matlab2017b找不到高版本VS的编译器。
解决思路
增加matlab的配置文件及添加头文件路径,使malab17b支持VS2019
环境介绍
VS2019:
保证有一个C++环境,我只装了桌面开发。
单个组件里面,建议如下俩个都装上。
VS19没有装在C盘,安装路径为
D:\ProgramFiles\VisualStudio\VS2019\IDE\Common7\IDE
注意这个不是,桌面图快捷方式右键找到的路径。
如图是右键,打开所在位置找到的路径
vs的安装路径为上图路径的前俩个目录。
如下图:安装目录有类似,如下文件夹
matlab版本为17B
解决步骤
1.下载配置文件
msvc2019.xml,msvcpp2019.xml
失效可以再联系我
方式:某云链接: https://pan.baidu.com/s/19qrC-jriYJQjBbKWwtFsww
提取码: wbua
2.添加配置文件
将上述俩个.xml文件,复制粘贴到 Matlab的安装目录下的\bin\win64\mexopts
目录下。
粘贴后如下图
3.修改注册表
添加了配置文件,还需要修改注册表来告诉matlab找到vs编译器的路径。
win+R,输入regedit,进入注册表编辑
在如下目录下
\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\SxS\VS7
新增字符串值
名称为16.0
,数值为:VS的安装路径
如图,为我的路径。
注意:
1.若没有SxS\VS7
项目路径,可以自己手动添加即可
2.不要写错了VS的安装路径(不等于启动vs文件的路径)
4.安装及验证
重新打开Matlab17,输入mex -setup -v
回车。
出现如下内容,说明成功
找到已安装的编译器 'Microsoft Visual C++ 2019 (C)'。
MEX 配置为使用 'Microsoft Visual C++ 2019 (C)' 以进行 C 语言编译。
警告: MATLAB C 和 Fortran API 已更改,现可支持
包含 2^32-1 个以上元素的 MATLAB 变量。您需要
更新代码以利用新的 API。
您可以在以下网址找到更多的相关信息:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。
要选择不同的语言,请从以下选项中选择一种命令:
mex -setup C++
mex -setup FORTRAN
则说明配置成功
使用 mex -setup C++
就可以成功安装vs19的编译器。
其他注意问题:
环境变量输入的vs的安装地址保证准确。
最后欢迎评论交流,有帮助的话,麻烦点个赞,