您现在的位置是:首页 >技术交流 >MATLAB配置C/C++库(Visual Studio,MinGW-w64 C/C++ 编译器)问题(包括低版本matlab配置高版本VS)网站首页技术交流
MATLAB配置C/C++库(Visual Studio,MinGW-w64 C/C++ 编译器)问题(包括低版本matlab配置高版本VS)
问题描述
使用matlab加载C语言的库函数时,需要提前配置好C/C++编译器,否则在matlab中使用 loadlibrary 加载C /C++库中的函数时候,会报错:
“未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器。有关更多选项,请访问 http://www.mathworks.com/support/compilers/R2017a/。”
解决办法
可以通过安装Visual Studio来解决,但是当低版本Matlab和安装高版本VS时候,还是有很多问题,包括低版本matlab缺少相关配置xml文件,并且还需要添加注册表。
下面是解决办法:
步骤1:安装Visual Studio
注意,这步很关键,这里可以安装各种版本VS(2022,2021,2020,2019,,,),都可以,但是在安装时候,需要你勾选“使用C++的桌面开发”这栏,如下图:
步骤2:配置Matlab相关配置文件
如果你的matlab版本比VS低,需要你手动添加相关配置文件,如下文件“msvc2022.xml”,“msvcpp2022.xml”,这里需要根据你的安装VS版本对应下载,当然也可以自己修改老版本xml文件进行修改,参考
以上操作完了就在matlab命令行输入mex -setup -v,看是否不报错,如果还是报错,表示可能需要添加注册表,因此进行步骤3.
步骤3:添加注册表(可选)
win+R打开运行界面,输入regedit,然后在下面路径进行设置
在如下路径下(相关文件没有的话,就添加项目,如SxS没有,就新建一个就行)添加字符串17.0(这个设置好像关系不大,可以设置为VS版本号),然后数据设置为VS的安装路径(比如我这里安装到自定义文件夹“VS2022”,你就只需要设置到这一层文件夹就行)。
最后matlab命令行输入mex -setup -v验证就行。
参考资料:
【1】让MATLAB2018b支持VS2019的mex配置