(史上最全解决方法,学不会算我输~) 从0安装MinGW32/64 ,Matlab错误使用mex未找到支持的编译器或SDK解决办法

目录

MinGW-w64介绍:

友情提示: 首先检验自己电脑是否已安装g++/gdb编译器,并核验版本

MinGW安装:可以选用其它安装方式,保证版本及位数安装正确即可

错误解决:

在matlab中编译C程序为matlab可识别的mex文件需要使用命令:mex filename.c/cpp ,在这之前需要时用命令:mex -setup 来更改缺省的compiler为相应的C编译器。如果没有安装matlab支持的编译器就会报错!

附上MATLAB官方安装文档:FAQ: How do I install the MinGW compiler? -

附上MATLAB的正版安装方案:需要登录账号Matlab 2017b错误使用 mex 未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器_liuliuliuliu666的博客-CSDN博客

MinGW-w64介绍:

     MinGW 的全称是:Minimalist GNU on Windows 。它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 不具备的,Linux平台下的开发工具。一句话来概括:MinGW 就是 GCC 的 Windows 版本 。

     以上是 MinGW 的介绍,MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成32位可执行程序,而 MinGW-w64 则可以编译生成 64位 或 32位 可执行程序。

     正因为如此,MinGW 现已被 MinGW-w64 所取代,且 MinGW 也早已停止了更新,内置的 GCC 停滞在了 4.8.1 版本,而 MinGW-w64 内置的 GCC 则更新到了 6.2.0 版本。

友情提示: 首先检验自己电脑是否已安装g++/gdb编译器,并核验版本,检验过程如下

1、按下Window + R,输入cmd并回车(或在电脑中搜索cmd并打开)

2、输入以下指令,查看版本是否适合所安装MATLAB版本,版本对应信息网址如下

MATLAB Support for MinGW-w64 C/C++ Compiler - File Exchange - MATLAB Central

g++ --version
gdb --version

MinGW安装:可以选用其它安装方式,保证版本及位数安装正确即可

1、下载TDM-GCC(注意看清是32位还是64位),默认安装即可,注意安装路径不要包括空格!

tdm-gcc

2、将MinGW安装路径下的bin目录添加到Matlab路径

3、设置环境变量(建议两种方法都设置)

在MATLAB命令行内运行命令setenv(‘MW_MINGW64_LOC’,folder),folder为TDM-GCC的安装位置,要加单引号!

或者新建系统变量MW_MINGW64_LOC,设置为TDM-GCC-64的安装位置!(MATLAB通过读取环境变量MW MINGW64 LOC来检测MinGW编译器)

4、重启一下MATLAB,执行mex -setup指令,即可找到编译器!

错误解决:

1、错误提示:sorry, unimplemented:64-bit mode not compiled in

      解决方法:g++/gdb的32/64位数安装错误,安装对应位数的g++/gdb编译器

2、错误提示:错误使用 mex未找到支持的编译器,您可以安装免费提供的 MinGW-w64 C/C++ 编译器。

      解决方法:未安装MinGW;安装后未通过setenv(‘MW_MINGW64_LOC’,folder)配置路径;未添加系统变量MW_MINGW64_LOC及系统变量路径配置错误;

猜你喜欢

转载自blog.csdn.net/xuanhaolaile/article/details/123622041