项目场景:

matlab2020b编译simulink模型,需要调用gcc编译器。


问题描述

matlab2020b使用mex指令出现找不到编译器的问题,使用mex -setup 指令显示的内容如下:

Matlab需要调用gcc编译器,需要安装MinGW-w64(对应版本为8.1.0)

1. 确定matlab对应的MinGW-w64版本,然后下载安装;

MinGW-w64 - for 32 and 64 bit Windows download | SourceForge.net

安装之后进入windows命令行检查gcc的版本。

WIN + R -> cmd -> gcc --version

2

2. 将MinGW-w64里面的bin文件路径添加到电脑的系统变量;

安装好后,文件的内容如下所示:

bin文件目录里面的就是编译器的可执行文件(g++.exe,gcc.exe...)

将下面的路径添加到系统路径
C:\D\environment\mingw64\bin

设置->系统->系统信息->高级系统设置->高级->环境变量->系统变量里面的path

3. 将MinGW-w64的路径添加到matlab当中,然后使用下面的指令去设置
setenv(‘MW_MINGW64_LOC’, ‘MinGW-w64路径’)

将MinGW-w64安装路径添加进入matlab路径。

设置mex调用的编译器:

setenv('MW_MINGW64_LOC', 'C:\D\environment\mingw64')

使用mex -setup指令确定是不是配置完成


原因分析:

1.检查编译器是否安装,并且添加系统变量;

2.检查matlab是否添加了编译器路径,并设置使用;

3.确认编译器版本和matlab版本对应。


Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐