项目场景:
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版本对应。