【详细记录】Visual Studio 2019+matlab2017b mex无法正常使用,找不到已安装的编译器

想使用VS2019+matlab2017b进行联合编程,结果老是找不到VS19的编译器。

问题:

低版本的matlab2017b找不到高版本VS的编译器。

解决思路

增加matlab的配置文件及添加头文件路径,使malab17b支持VS2019

环境介绍

VS2019:
保证有一个C++环境,我只装了桌面开发。
保证有一个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的安装地址保证准确。

最后欢迎评论交流,有帮助的话,麻烦点个赞,

猜你喜欢

转载自blog.csdn.net/qq_44078824/article/details/121644400
今日推荐