【Matlab2016使用mex命令寻找编辑器Visual Studio2019】

2023-12-17 12:50

本文主要是介绍【Matlab2016使用mex命令寻找编辑器Visual Studio2019】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【Matlab2016使用mex命令寻找编辑器Visual Studio2019】

最近想要同时使用VS和matlab进行编程,但是怎么都没有办法让matlab找到VS,经过多方查询,特意在此记录。

问题:mex命令报错

mex -setup
错误使用 mex
未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器。有关更多选项,请访问 http://www.mathworks.com/support/compilers/R2016b/win64.html。

发现问题是由于没办法找到编译器导致的,所以使用了详细模式查看具体原因,命令如下:

mex -setup -v
详细模式已开。
… 正在查找编译器 ‘Intel C++ Composer XE 2013 with Microsoft SDK 7.1 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER14’…否。
… 正在查找环境变量 ‘ICPP_COMPILER13’…否。
找不到已安装的编译器 ‘Intel C++ Composer XE 2013 with Microsoft SDK 7.1 ©’。
… 正在查找编译器 ‘Intel C++ Composer XE 2013 with Microsoft Visual Studio 2012 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER14’…否。
… 正在查找环境变量 ‘ICPP_COMPILER13’…否。
找不到已安装的编译器 ‘Intel C++ Composer XE 2013 with Microsoft Visual Studio 2012 ©’。
… 正在查找编译器 ‘Intel C++ Composer XE 2013 with Microsoft Visual Studio 2013 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER14’…否。
… 正在查找环境变量 ‘ICPP_COMPILER13’…否。
找不到已安装的编译器 ‘Intel C++ Composer XE 2013 with Microsoft Visual Studio 2013 ©’。
… 正在查找编译器 ‘Intel Parallel Studio XE 2015 with Microsoft SDK 7.1 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER15’…否。
找不到已安装的编译器 ‘Intel Parallel Studio XE 2015 with Microsoft SDK 7.1 ©’。
… 正在查找编译器 ‘Intel Parallel Studio XE 2015 with Microsoft Visual Studio 2012 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER15’…否。
找不到已安装的编译器 ‘Intel Parallel Studio XE 2015 with Microsoft Visual Studio 2012 ©’。
… 正在查找编译器 ‘Intel Parallel Studio XE 2015 with Microsoft Visual Studio 2013 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER15’…否。
找不到已安装的编译器 ‘Intel Parallel Studio XE 2015 with Microsoft Visual Studio 2013 ©’。
… 正在查找编译器 ‘Intel Parallel Studio XE 2015 with Microsoft Visual Studio 2015 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER15’…否。
找不到已安装的编译器 ‘Intel Parallel Studio XE 2015 with Microsoft Visual Studio 2015 ©’。
… 正在查找编译器 ‘Intel Parallel Studio XE 2016 with Microsoft SDK 7.1 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER16’…否。
找不到已安装的编译器 ‘Intel Parallel Studio XE 2016 with Microsoft SDK 7.1 ©’。
… 正在查找编译器 ‘Intel Parallel Studio XE 2016 with Microsoft Visual Studio 2012 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER16’…否。
找不到已安装的编译器 ‘Intel Parallel Studio XE 2016 with Microsoft Visual Studio 2012 ©’。
… 正在查找编译器 ‘Intel Parallel Studio XE 2016 with Microsoft Visual Studio 2013 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER16’…否。
找不到已安装的编译器 ‘Intel Parallel Studio XE 2016 with Microsoft Visual Studio 2013 ©’。
… 正在查找编译器 ‘Intel Parallel Studio XE 2016 with Microsoft Visual Studio 2015 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER16’…否。
找不到已安装的编译器 ‘Intel Parallel Studio XE 2016 with Microsoft Visual Studio 2015 ©’。
… 正在查找编译器 ‘MinGW64 Compiler ©’…
… 正在查找环境变量 ‘MW_MINGW64_LOC’…否。
找不到已安装的编译器 ‘MinGW64 Compiler ©’。
… 正在查找编译器 ‘Microsoft Visual C++ 2012 ©’…
… 正在查找注册表设置 ‘HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7’ 11.0…否。
… 正在查找注册表设置 ‘HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7’ 11.0…否。
… 正在查找注册表设置 ‘HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7’ 11.0…否。
… 正在查找注册表设置 ‘HKCU\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7’ 11.0…否。
找不到已安装的编译器 ‘Microsoft Visual C++ 2012 ©’。
… 正在查找编译器 ‘Microsoft Visual C++ 2013 Professional ©’…
… 正在查找注册表设置 ‘HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7’ 12.0…否。
… 正在查找注册表设置 ‘HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7’ 12.0…否。
… 正在查找注册表设置 ‘HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7’ 12.0…否。
… 正在查找注册表设置 ‘HKCU\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7’ 12.0…否。
找不到已安装的编译器 ‘Microsoft Visual C++ 2013 Professional ©’。
… 正在查找编译器 ‘Microsoft Visual C++ 2015 Professional ©’…
… 正在查找注册表设置 ‘HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7’ 14.0…是(‘C:\Program Files (x86)\Microsoft Visual Studio 14.0’)。
… 正在查找文件 ‘C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\cl.exe’…否。
找不到已安装的编译器 ‘Microsoft Visual C++ 2015 Professional ©’。
正在查找编译器 ‘Microsoft Visual C++ 2019 ©’…
… 正在查找注册表设置 ‘HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7’ 16.0…否。
… 正在查找注册表设置 ‘HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7’ 16.0…否。
… 正在查找注册表设置 ‘HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7’ 16.0…是(‘C:\Program Files (x86)\Microsoft Visual Studio 16.0’)。
… 正在执行命令 ‘set “vcroot=C:\Program Files (x86)\Microsoft Visual Studio 16.0”&for /f "delims= " %a in (‘type “C:\Program Files (x86)\Microsoft Visual Studio 16.0\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt”’) do @if exist “C:\Program Files (x86)\Microsoft Visual Studio 16.0\VC\Tools\MSVC%a\bin\HostX64\x64\cl.exe” call echo %vcroot%’…否。
找不到已安装的编译器 ‘Microsoft Visual C++ 2019 ©’。

… 正在查找编译器 ‘Microsoft Windows SDK 7.1 ©’…
… 正在查找注册表设置 ‘HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1’ InstallationFolder…否。
… 正在查找注册表设置 ‘HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v7.1’ InstallationFolder…否。
找不到已安装的编译器 ‘Microsoft Windows SDK 7.1 ©’。
错误使用 mex
未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器。有关
更多选项,请访问 http://www.mathworks.com/support/compilers/R2016b/win64.html。

发现加粗部分是没有找到编译器VS2019的原因。由于matlab寻找编译器通常是通过注册表中寻找对应编译器和SDK。
打开注册表:按下win+r键,输入regedit打开注册表编辑器。
寻找matlab对应文件方法如下:
主要寻找两个文件:HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE,他们分别对应Matlab中的HKCU和HKLM

根据MATLAB中的报错信息,对应寻找:
1.寻找路径:’HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7’ 16.0‘
添加字符串:在这里插入图片描述
右键添加字符串,命名为16.0,修改数值为VS2019的安装目录。
————————————————
然后重新在matlab中运行mex命令:发现找到编译器VS2019,选择想要用的语言即可
发现找到编译器VS2019,选择想要用的语言即可。

参考:1.Matlab2016及以上版本设置VS编译器

2.vs2019+matlab2016b mex无法正常使用,找不到已安装的编译器

这篇关于【Matlab2016使用mex命令寻找编辑器Visual Studio2019】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/504424

相关文章

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

Python中conda虚拟环境创建及使用小结

《Python中conda虚拟环境创建及使用小结》本文主要介绍了Python中conda虚拟环境创建及使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录0.前言1.Miniconda安装2.conda本地基本操作3.创建conda虚拟环境4.激活c

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

Spring Boot 中正确地在异步线程中使用 HttpServletRequest的方法

《SpringBoot中正确地在异步线程中使用HttpServletRequest的方法》文章讨论了在SpringBoot中如何在异步线程中正确使用HttpServletRequest的问题,... 目录前言一、问题的来源:为什么异步线程中无法访问 HttpServletRequest?1. 请求上下文与线

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO