很多时候需要在Matlab下使用C或C++边写的代码,这时候就需要先用编译器将代码编译成Matlab可以用的mex文件。检测Matlab有没有可以使用的编译器,可以在命令行窗口下,输入mex -setup,如果有的话就会显示出可以用的编译器。

无编译器:
有编译器:

(如果针对matlab,个人推荐方法二,方便快捷)

方法一

(前两步不仅仅适用于MATLAB)

1.安装包下载

方法一:下载Installer在线安装(费时)

方法二:下载离线包(较快)
由于在线安装方式下载较慢,所以可以选择直接下载离线包。

点击此链接:https://sourceforge.net/projects/mingw-w64/files/,进入下图1后将页面往下滑到图2区域,点击所需离线包名称(参照下图),然后就会弹出图3所示对话框,保存下载即可。离线包大约50MB(解压后500MB左右)。


下载完成解压后的界面是这样的:

2.环境变量配置

如果下载完成后就进入Windows的命令窗口再次键入gcc,仍会是本文第一张图那样的提示。原因就在于还缺少系统环境变量配置这一环节。

右键计算机→属性→高级系统设置→高级→环境变量,然后鼠标双击系统变量中Path,或者选中后点击编辑,在变量值输入框的末尾输入英文分号后将MinGW-w64包目录下bin文件夹的全路径粘贴到后面,bin的后面有无斜杠均可,如下图:
此时再进入Windows的命令窗口键入gcc -v,将是另一番景象~~~

3.MATLAB下配置C和C++编译器(MinGW)

但是此时Matlab下还是没有可以使用的编译器

进行环境变量配置,右键计算机选择“属性——高级系统设置——高级——环境变量”,点击“环境变量”;在系统变量下面,选择“新建”;(位置为安装路径bin目录(eg:D:\software\MinGW-w64\bin)
设置完环境变量后,Matlab还是找不到MinGw编译器的,需要在Matlab中运行如下代码:

setenv('MW_MINGW64_LOC','folder')
比如:setenv('MW_MINGW64_LOC','D:\software\MinGW-w64')//目录为bin的上一级目录

此时执行>> mex -setup
会发现Matlab可以找到已经安装的编译器了。

注意:如果每次重启Matlab后还是没有发现编译器,而且每次都要重新编译,此时就要看看MinGW的安装目录是不是空格,很多人默认安装在C:\Program File\下,结果就运行不了,因为这其中有空格,此时有两种方法可以解决,第一种就是重新安装到没有空格的文件夹里面,当然这得重新安装,比较麻烦;第二种就是,直接在环境变量那里,把Program File改为Progra~1,即可。

方法二

虽然无报错,但是有警告信息:提示编译器版本不支持,所以又进行了下述操作:

1.matlab主页→附加功能→获取附加功能
2.找到MinGW-w64
3.点击右下角安装即可(我这里已安装所以未显示)

问题“MEX文件无效,找不到指定模块”解决

然而,虽然输出mex -setup未报错,但在运行时出现下述错误:MEX文件无效,找不到指定模块
尝试了网上的建议:将“SDK_PATH\bin”添加到PATH环境变量中,以帮助编译器查找需要的.dll文件,例如添加";C:\myo-sdk-win-0.9.0\bin" 到系统变量,然而仍然报错。
解决方案:将dll文件与myomex文件夹中的.cpp .h放在同一文件夹中,.cpp .h和.dll放在不同的文件夹下,在.cpp中使用.h .dll都是使用的相对路径,通过mex test.cpp编译是可以成功的,但是在调用的时候就会出问题。(原因未知)

MATLAB下配置C和C++编译器(MinGW)相关推荐

  1. QT + OpenCV + MinGW 在windows下配置开发环境

           由于研究项目需要,最近开始接触C++界面设计,关于"QT + OpenCV + MinGW在windows下配置开发环境"着实让人头疼,单次配置时间相当长,也十分不容 ...

  2. mac下配置进行c和matlab混编

    mac下配置进行c和matlab混编 是用mac的小伙伴有时候有没有感觉很痛苦!遇到什么问题,找相关的解决办法真心不方便,我最近在搞一段程序,要进行c和matlab的混编,可是,在matlab中输入: ...

  3. Matlab2012a下配置LibSVM—3.18

    1.下载最新版LibSVM 点击此处打开网页,点击zip file下载最新版的文件并解压放在任何目录下,建议放在安装目录便于查找.如我的文件解压在路径C:\ProgramFiles\MATLAB\R2 ...

  4. Matlab中配置LibSVM 总结

    1.参考网站: libsvm库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 视频:http://v.youku.com/v_showMini/id_XMjc ...

  5. 【caffe-Windows】微软官方caffe之 matlab接口配置

    前言 按照微软的官方地址配置可能会出现一个问题caffe_.mexw64找不到引用模块问题,或者在matlab里面压根找不到caffe_这个函数,下面会提到这两个问题.还是按照步骤来吧 [PS1]有G ...

  6. Win7平台下配置Sublime Text2 的C++编译环境

    Win7平台下配置Sublime Text2 的C++编译环境 Sublime Text 是一个跨平台的编辑器,之前在 Mac 上成功配置了 C++ 在 Sublime Text 的编译环境,接下来介 ...

  7. caffe.net matlab,【caffe-Windows】微软官方caffe之 matlab接口配置

    前言 按照微软的官方地址配置可能会出现一个问题caffe_.mexw64找不到引用模块问题,或者在matlab里面压根找不到caffe_这个函数,下面会提到这两个问题.还是按照步骤来吧 [PS1]有G ...

  8. 嵌入式 win7下配置开发环境和VS2010联合使用

    简单建立Qt+VS2010开发环境 多天不关注Qt了,发现竟然又被digia收购了,也许是好事,digia计划将Qt应用到Android.iOS及Windows8平台上. 简单介绍下digia(来着网 ...

  9. matlab let工具箱,【matlab】配置surfbox工具箱(surfacelet转换)

    当前位置:我的异常网» 开源软件 » [matlab]配置surfbox工具箱(surfacelet转换) [matlab]配置surfbox工具箱(surfacelet转换) www.myexcep ...

最新文章

  1. 深度度量学习的这十三年,难道是错付了吗?
  2. 免费Windows系统服务器,免费试用人数太多,Windows 365云电脑服务器炸了,官方紧急暂停...
  3. 【学习笔记】利润中心会计初识
  4. ES6中的super
  5. poj 2513 Colored Sticks
  6. 微信小程序秀才成语接龙趣味答题小游戏带流量主无授权源码
  7. 数据库 查询XML XQuery
  8. webwork在freemarker中使用iterator
  9. OpenCV精进之路(八):图像轮廓和图像分割修复——轮廓查询和多边形包围轮廓
  10. console.log(12.toString())为啥会报错呢?
  11. java实现qq抢红包_java实现抢红包算法(公平版和手速版)
  12. VS2019/MFC学习笔记之一(创建对话框工程并实现简单加法运算)
  13. 尚硅谷大数据之数据质量管理
  14. 什么是端口映射?内网端口映射工具推荐
  15. java验证码kaptcha_spring整合kaptcha验证码的实现
  16. OnTheHub 免费取得Offfice/Windows 正版序号,学生/教师限定
  17. Matlab论文插图绘制模板第82期—箭头图(quiver)
  18. linux运维必备178个命令
  19. 一次控制文件control file sequential read 等待性能案例分析
  20. innerHTML 用法

热门文章

  1. 计算机如何显示e盘文档,我把电脑E盘里文件隐藏了,怎么弄可以显示出来!
  2. C#中的递归APS和CPS模式详解(转载)
  3. HDU - 3594 Cactus (强连通缩点+STL)
  4. 摩杜云受邀出席CDEC中国数据智能生态大会
  5. 恶意代码分析实战 11 恶意代码的网络特征
  6. 最新联系腾讯客服人工方法
  7. 小程序制作预算_科普:小程序制作一个需要多少钱?
  8. RSA加密算法补充签名验签部分
  9. jenkins中的流水线( pipeline)的理解(未完)
  10. JavaC++题解与拓展——leetcode310.最小高度树【复习链式前向星】