【MALTAB】安装MinGW-w64使用MEX调用C/C++

MALTAB调用C/C++函数的步骤

MATLAB是一种不需要编译的解释性语言,调试比较方便,但是缺点是速度慢,最简单的体现就是执行循环时。C/C++复杂但执行效率很高,能快速。
因此实际操作中希望实现在MATLAB中调用C/C++函数。实现的方式是:通过mex库将C++函数变成matlab可执行程序。这简单的一句话,字字都是坑。所以完整记录一下流程。

使用软件版本

  • MATLAB:R2021b
  • C++编译器:vscode
  • win10
  • MinGW-w64版本:6.3

具体步骤

  • 一.下载安装合适的MinGW-w64
  • 二.配置系统环境变量
  • 三.配置MATLAB环境变量
  • 四.配置vscode头文件路径

一.下载安装合适的MinGW-w64

1.版本选择

MATLAB和MinGW-w64的版本是严格对应匹配的,因此不能随意下载MinGW-w64。根据MATLAB版本参考
MATLAB对应GCC版本

2.安装MinGW-w64

下载的方式有两种,一是通过网页离线安装,另一种是通过在线mingw-w64-installer.exe安装。
在线安装的方式会因为网络问题出现the file has been downloaded incorrectly报错,所以更推荐离线安装。
报错展示

这里附上MinGW-w64的安装包,包含8.16.3exe

链接:https://pan.baidu.com/s/1dqATIL7jSqNze0qr_0fFdA?pwd=1e03
提取码:1e03

2.1在线安装

在线安装只需下载exe,点击运行,选择合适的版本(图为默认版本)。
默认版本展示

从上到下分别是:

  • versionGCC版本:按第一步选合适的。
  • Architecture计算机系统架构:系统是64位选X86_64,32位选i686
  • Threads操作系统接口协议:开发 Windows 程序选win32,而开发LinuxUnixMac OS等其他操作系统下的程序选posix
  • Excpetion异常处理模型:seh不支持32位,sjlj支持32位。
  • Build revision建立修订:默认是0。
    继续安装,由于网络原因,大概率会遇到上文提到的问题:the file has been downloaded incorrectly,那么就放弃exe吧,加入离线安装的怀抱。
2.2离线安装

链接:https://pan.baidu.com/s/1dqATIL7jSqNze0qr_0fFdA?pwd=1e03
提取码:1e03

压缩包解压,找个合适的文件夹扔进去就完事儿了。最好路径全英文,不要给后续找不必要的麻烦。


二.配置系统环境变量

1.文件管理器→此电脑
文件管理器→此电脑

2.右键→属性
右键→属性
3.下划→高级系统设置
高级系统设置
4.高级→环境变量
系统变量

5.系统变量→path→编辑
path编辑
6.新建→安装位置bin文件和C盘bin文件→确定

  • 在这里提一句,如果path编辑不是如图所示的界面,而是一个小框一条显示,原因是%开头的路径是首位,像图片这样选择一个非%开头的路径做首位就可以了。
    路径新建
    7.over!不要着急全部关闭!停在4.环境变量这里,还要继续配置MATLAB的环境变量哦!
    8.此时,打开cmd命令提示符,输入gcc -v查看是否配置成功。
    cmd测试系统安装结果

三.配置MATLAB环境变量

1.新建系统变量
新建系统变量

2.命名为MW_MINGW64_LOC,路径是安装位置
3.确定。
4.打开MATLAB,输入命令:
setenv('MW_MINGW64_LOC','安装位置')
以我为例,即为
setenv('MW_MINGW64_LOC','F:mingw63')
5.输入MATLAB命令:
mex -setup c++
至此安装完毕。在MATLAB中运行mex xxx.c就可以收获successfully!


四.配置vscode头文件路径

使用vscode编写适合MATLAB的C/C++,需要引用头文件mex.hmatrix.h,最好直接加入vscode的头文件库。
这两个文件的位置在:

你的matlab安装位置\extern\include

以我为例,即为:

F:\matlab\R2021b\extern\include

打开vscode,搜索c_cpp_properties.json,找到includePath,把文件路径加进去。

  • 注意修改/符号,方向相反;
  • 注意加,逗号隔开其他非工作区路径。
    vscode路径配置

完成啦!关于mex格式怎么写留到下一次研究啦。
禁止转载,有问题请留言,有错误拜请纠正。谢谢包容和喜欢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值