精华内容
下载资源
问答
  • Matlab中错误使用mex

    2020-07-22 20:53:43
    文章目录Matlab中错误使用mex问题描述Matlab 2016+ 版本 解决方案下载TDM-gcc安装Matlab 2016之前版本 解决方案mingw-w64安装step 1step 2 Matlab中错误使用mex 问题描述 使用Matlab和Minepy工具箱做变量的互信息MIC...

    Matlab中错误使用mex

    问题描述

    使用Matlab和Minepy工具箱做变量的互信息MIC (maximal information coefficient ) 分析出现了如下问题!Minepy安装
    在这里插入图片描述
    在这里插入图片描述

    Matlab 2016+ 版本 解决方案

    下载TDM-gcc

    TDM-GCC官网下载

    tdm64-gcc-9.2.0 tdm64-gcc-5.1.0下载

    提取码: 28cj

    安装

    TDM-GCC官安装与配置



    Matlab 2016之前版本 解决方案

    1. 到微软下载SDK7.1以及编译器
    2. 安装SDK
    3. 安装Compiler
    4. 见下图

    在这里插入图片描述
    下载链接:
    SDK7.1
    Compiler

    参考教程


    mingw-w64安装

    step 1

    下载编译器:

    如何用mingw-w64离线安装包来安装mingw

    mingw-w64离线安装包

    code:edc5

    mingw-w64介绍

    step 2

    设置系统环境变量:MW_MING64_LOC,位置为安装路径bin目录(eg:D:/Ming64/MinGw64/bin);

    设置完环境变量后,Matlab还是找不到MinGw编译器的,需要在Matlab中运行如下代码:

    setenv('MW_MINGW64_LOC','folder')
    比如:setenv('MW_MINGW64_LOC','D:\Mingw\MinGW64')//目录为bin的上一级目录
    

    完整操作流程

    操作顺序就是图的顺序:
    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 完美解决matlab“错误使用 mex未找到支持的编译器或 SDK。”的问题1.需求和遇到的问题2. 问题解决方法参考 1.需求和遇到的问题 需要在matlab中使用或者调用opencv函数,在网上找了一大圈,大致由两种解决方法: ...

    完美解决matlab“错误使用 mex未找到支持的编译器或 SDK。”的问题

    1.需求和遇到的问题

    需要在matlab中使用或者调用opencv函数,在网上找了一大圈,大致由两种解决方法:

    1. 编译mexw64文件:将c或者c++的程序按照符合matlab接口的规则进行编写,然后用mex进行编译。这种方法对于需要引用库的函数也适用,但是看上去挺复杂的。
    2. 编译mexopencv: 编译matlab版本的opencv即可在matlab中调用opencv的函数了。

    但是这两种方法的前提都是能够正常启用“ mex -setup”。

     mex -setup
    

    于是本人遇到了这个问题:

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

    关于这个问题,网上也有很多解决方案。但是如果自己电脑上已经有编译器了(比如装了vs2017),不建议重新装编译器,更不建议将matlab卸载了重新安装。
    因为有更简单且治标又治本的方法

    2. 问题解决方法

    打开matlab安装路径下的mexopts文件夹

    F:\matlab2016\bin\win64\mexopts

    里面有各种需要各种编译器的配置文件
    在这里插入图片描述
    找到自己编译器的相应版本!如果没有自己编译器的版本,可以去网上找了下载到这个目录下。网上找到一个大佬分享的vs2017的配置文件,链接.
    在matlab命令窗口输入命令:

    mex -setup -v
    

    在这里插入图片描述
    查看这个输出里面的SDK版本号自己电脑里面的是否一致,不一致的话进入.xml配置文件中改为自己电脑里面的SDK版本。
    在这里插入图片描述
    因为按照编译器的时候注册表里面就会有记录,所以一般不需要在注册表里面做任何更改!
    这样下来就可以使用mex了。

    参考

    [1]解决MATLAB对VS高版本出现“错误使用 mex未找到支持的编译器或 SDK。”的问题.

    展开全文
  • 路径不匹配导致的原因:安装VS时选择了其他盘如F盘,则导致matlab中按照配置文件搜索C++编辑器失败。 解决方法:修改matlab安装目录下的文件夹 D:\Program Files\MATLAB\R2016a\bin\win64\mexopts\...

    这里其实是后面出现的问题,写在前面为帮助别人节省时间。装好libsvm花了两天时间。

    本人运行环境:

    系统:
    win10(64bit)

    matlab:2019a

    vs:2019

    本人原因:

    路径不匹配导致的原因:安装VS时选择了其他盘如F盘,则导致matlab中按照配置文件搜索C++编辑器失败。

    注意查看系统变量
    在这里插入图片描述

    解决方法:修改matlab安装目录下的文件夹

    首先打开matlab安装目录下的文件夹

    D:\matlab2019a\bin\win64\mexopts\compilerComponents
    打开msvc90shellopts.stp 文件,把第7行的location修改为visual studio的安装目录:
    my $default_location = “F:\Program Files\Microsoft Visual Studio 14.0”;
    并且把文件里面27,52行的9.0都修改为14.0。
    在这里插入图片描述
    再次重启matlab,输入mex -setup错误消失,问题得以解决!
    在这里插入图片描述

    这个问题才是根本问题。

    展开全文
  • matlab(我的版本是2016a),需要编译C++文件,但在命令行输入mex -setup时,会报错:错误使用 mex未找到支持的编译器或 SDK。通过查看版本支持以及下载支持文件后,解决完编译器的问题。又出现新的错误,无法...

    在Matlab中使用mex可以编译c/c++ ,但是首先要设置好编译器,可以使用mex -setup命令来设置。但在命令行中输入mex -setup时,报错:(错误使用 mex 未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译
    器。有关更多选项,请访问 http://www.mathworks.com/support/compilers/R2016a/win64.html。)

    按照提示的可以下载MinGW-w64 C/C++,下载后进行安装。但是若是我们已经安装了VS,则可以用下面的方法。

    由于Matlab从2016版本以后使用xml文件来保存配置文件,所以如果使用的Matlab是2016以前的版本,方法可能和本文有所区别。(本文以Matlab2016a和Visual Studio2017为例)我已经安装了VS2017版本,但是我是先安装的matlab后安装的Visual Studio,或者其它一些原因,mex -setup命令无法找到安装好的Visual Studio编译器,仍然报同样的错误,那么就需要进行一些修改才能成功设置编译器了。
    在Matlab的安装目录\bin\win64\mexopts(比如我的:E:\Matlab2016a\bin\win64\mexopts)目录中有各种编译器的配置文件,Matlab就是依靠这些xml文件和编译器建立关联,打开文件,查看你的matlab支持的VS版本是否包含你安装的VS版本。

    你的错误可能是matlab 根本就找不到VS,原因就是matlab根本就不支持VS20xx(比如matlab2016a支持的最高版本就到2015,如下图,红框的部分是我在网上下载的支持文件。)
    在这里插入图片描述
    下载mexopts补丁文件 : https://kaba.hilvi.org/homepage/blog/blog.htm
    在这里插入图片描述
    选择对应版本
    在这里插入图片描述
    下载后解压放在目录中(Matlab的安装目录\bin\win64\mexopts),运行mex -setup,配置你的VS编译器。
    一般来说到这里就解决了。感谢博客(https://blog.csdn.net/qq_17783559/article/details/82017379?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf)

    但是我的问题有点复杂,因为这时,又报错:e:\matlab2016a\extern\include\matrix.h(23): fatal error C1083: 无法打开包括文件: “stdlib.h”: No such file or directory
    我的内心是崩溃的,然后各种查问题,尝试解决。最后得出的结论就是SDK的版本问题。打开Visual Studio Installer,查看VS使用的SDK,就是红框框的圈住的。然而matlab安装目录\bin\win64\mexopts目录下的msvcpp2017.xml使用的WinKit居然写死了include的引用路径为$KITSROOT\include\10.0.16299.0\ucrt,但这个不存在的路径在使用mex -setup设置期间是不报错的,导致在实际的编译过程中,出现找不到“stdlib.h”的错误。
    在这里插入图片描述
    要修复以上的错误,需要两个步骤:

    1. 修改 bin\win64\mexopts目录下的msvc2017.xml,将其中10.0.16299.0替换成有效的10.0.17763.0(这里是我的配置,你要看自己对应的版本)
    2. Matlab2016a在第一次使用mex -setup设置成功(虽然实际是存在错误的)后,会将mex编译器配置保存到C:\Users\Administrator\AppData\Roaming\MathWorks\MATLAB\R2017a下的mex_C_win64.xml中,因此只做第一步是无效的,需要将该xml文件也修改了
      然后,就大功告成啦,终于解决了,希望也能帮助到你们。
      提示:c++编译器若存在通用问题也是按照以上方法修改。
    展开全文
  • matlab命令行输入命令 mex -setup -v开启详细模式,能够看到...问题:mex .c文件时,2016b能够找到VS2015并使用mex命令成功编译。但2014a均找不到。 目的:发现2014a整个查找过程只找2013及以下版本的VS...
  • Matlab中使用mex编译使用 c/c++

    千次阅读 2017-02-26 20:20:51
    Matlab中使用mex编译使用 c/c++ ,首先要设置编译器,mex -setup. 但是有时候会遇到找不到编译器的错误错误原因有很多。我的电脑上先安装Matlab 2016a,后安装的visual studio 2013,所以Matlab找不到...
  • 目录问题描述:原因分析:解决方案:1.失败经验2.成功方法(1)下载MinGW-w64编译器(2)安装MinGW-w64 C/C++ 编译器(3)设置为系统环境变量(4)使用MATLAB将MW_MINGW64设置为...错误使用 mex 未找到支持的编译器或 S
  • 错误使用 mex gcc: error: \-fexceptions: No such file or directory 出错 ir_mex_build_mri (line 20) mex -O CFLAGS="\$CFLAGS -std=c99" exp_xform_mex.c 出错 ir_mex_build (line 15) ir_mex_build_mri 解决...
  • 错误使用 mex MEX 找不到使用 -l 选项指定的库 ‘mwblas’。 MEX 已搜索具有以下名称之一的文件: libmwblas.a mwblas.lib libmwblas.lib 请验证库名称是否正确。如果该库不在 现有路径上,请使用 -L 选项指定路径。 ...
  • 显示错误使用mex 未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器 2、软件下载: MinGW-w64下载 https://sourceforge.net/projects/mingw-w64/ TDM-GCC ...
  • 老版本的Matlab自带lcc,在Matlab中输入mex -setup就可以选择、设置。如果电脑中还安装了VC之类的其它C编译器,Matlab也会列出,供你选择哪个编译器。但高版本的Matlab用起来没这么简单。我用2015b,输入mex -setup...
  • 一、MATLAB中使用mex报错及GCC的安装多种问题的解决。 当我运行我的程序的时候,发现下图中的“model” have not defne。(未定义) 查阅若干资料,走了不少弯路,才发现原来是mex文件未编译。 接下来,编译mex文件...
  • Matlab使用mex命令编译源文件时,要注意这样一个现象:源文件名后缀为.c时,所有变量声明必须一次性完成,且放在最前面, 否则mex编译错误;而源文件名后缀为.cpp时,就没有上面的问题,...- -||。
  • 尝试在MATLAB中输入mex -setup,仍然会报错找不到支持的编译器。搜索了网上很多文章都不行。我的系统是最新的macOS mojave,也就是macOSX10.14,知道这一点很重要。 下面的办法,是亲测可行的: 首先,你要安装xc....
  • 问题出现的开始,是我将Libsvm工具包添加到Matlab中的tools文件中后,为了使用SVM进行数据分类,运行到svmtrain函数时出现的问题,matlab会报错: Invalid MEX ‘F:…\toolbox\mex\mexw64\svmtrain.mexw64’ 即:找...
  • 使用MATLAB编译程序,出现如下问题: mex -setup 错误使用 mex未找到支持的编译器或 SDK。...本机装了matlab2014和2017,2017可以编译,但2014出现错误使用mex问题,如下图所示 后经参考如下博客 https://ww2.mat...
  • Matlab选择编译器时报错:错误使用 mex 未找到支持的编译器或SDK 解决方案: 在matlab命令行输入命令 mex -setup -v开启详细模式,能够看到查找过程以发现和解决问题。 从命令行窗口发现问题在于未找到cl.exe文件...
  • 需要用MATLAB来编译一些C代码,但是总是无法找到编译器,网上很多教程并没有什么用,经过摸索终于成功,现...1. MATALB运行mex -setup 出现问题,未找到编译器,让我安装MinGW-w64,我已经安装了VS,干嘛还要..
  • matlab中给的解决方案并不够特别清楚,我自己下载了mingw64-w的好几个版本都试了下,发现并不能用(我的电脑安装的64位的Matlab2017),最后是在csdn的库里面找到的TDM GCC4.9.2,安装好后配置环境,在matlab中输入...
  • 错误使用 mex 未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器。有关更多选项,请访问 http://www.mathworks.com/support/compilers/R2016a/w...
  • 彻底解决Matlab中mex-setup未找到支持的编译器或SDK

    万次阅读 多人点赞 2018-08-08 20:56:51
    错误使用 mex 未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++编译器;请参阅安装 MinGW-w64 编译器。如需更多选项,请参阅、、、、、、、、、、、 解决方法很简单,...
  • 使用mex,在matlab中编辑文件,提示mex错误使用,代码查找没有问题,头文件也include进来。 问题描述: 错误使用 mex C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin...
  • matlabmex

    2012-09-23 15:27:04
    3.4 Matlab中mxArray类型的操作51 3.5 Matlab与C语言混合编程常用的数据类型51 3.5.1 size_t类型51 3.5.2 Matlab C语言接口数据类型52 3.6 操作Matlab阵列mxArray的mx函数54 3.7 Matlab mex函数77 3.8 Matlab...
  • Matlab中使用mex -setup时提示 未找到支持的编译器或SDK,Matlab推荐使用mingw64,那就安装吧。 编译器我下的是TDM-GCC 地址:http://tdm-gcc.tdragon.net/download 下载TDM-GCC(注意看清是32位还是64位),TDM-...
  • matlab R2017a mex 配置过程

    千次阅读 2018-05-08 11:17:29
    1. 首先,下载libsvm-3.22,很好找,网上都有,解压,复制到matlab安装路径toolbox文件夹内 。...mex -setup错误使用 mex 未找到支持的编译器或 SDK。有关选项,请访问 http://www.mathworks.com/su...
  • 使用OpenCV库,进行混合编程时mex.c文件能够编译成功,并且生出mexw64文件: 但是在调用编程成功的函数时,提示下面的错误: 解决方法: 将系统环境变量的OpenCV bin目录进行如下的修改。 将x86修改为x64...

空空如也

空空如也

1 2 3 4 5 6
收藏数 104
精华内容 41
关键字:

matlab中错误使用mex

matlab 订阅