Matlab中编译 C++ MEX 程序

目录

编译 C++ MEX 程序

支持的编译器

使用 mex 命令编译 .cpp 文件

MEX include 文件

文件扩展名


编译 C++ MEX 程序

        使用 MATLAB® mex编译 C++ MEX 应用程序,以设置环境并编译 C++ 源代码。

支持的编译器

        使用支持 C++11 的编译器。有关支持的编译器的最新列表,参考支持个兼容的编译器网站。

使用 mex 命令编译 .cpp 文件

        如果安装了受支持的编译器之一,请使用mex命令为 C++ MEX 应用程序设置编译器。当提供了用于选择编译器的选项时,选择 MATLAB C++ MEX 支持的一个已安装的编译器。

mex -setup C++

        使用 MATLAB mex命令编译您的 C++ MEX 程序。

mex MyMEXCode.cpp 

MEX include 文件

        在C++ 源代码中包含以下头文件。头文件包含函数声明以及在 API 库中访问的例程的原型。这些文件位于 matlabroot/extern/include 文件夹中,并且与用于 Windows®、Mac 和 Linux® 系统的文件相同。C++ MEX 文件使用以下头文件:

  • mex.hpp - C++ MEX API 的定义

  • mexAdapter.hpp - C++ MEX 函数运算符所需的实用工具

注意:在跨多个文件的 MEX 应用程序中,将 mexAdapter.hpp 与 MexFunction 类定义仅包含一次。

文件扩展名

        MEX 文件是特定于平台的。MATLAB 通过特定于平台的扩展名来识别 MEX 文件。下表列出了 MEX 文件的特定于平台的扩展名。

MEX 文件与平台相关的扩展名

平台二进制 MEX 文件扩展名

Linux(64 位)

mexa64

Apple Mac(64 位)

mexmaci64

 Windows(64 位)

mexw64

### 如何在 MATLAB 中使用 `mex` 命令编译 C++ 文件 #### 设置编译器 为了使 MATLAB 能够识别并使用特定的 C++ 编译器,需先通过命令行设置合适的编译器。对于 Windows 用户而言,当输入 `mex -setup` 后若显示无法找到支持的编译器或 SDK 的警告信息,则建议安装兼容版本的 MinGW-w64 编译器[^3]。 #### 安装 MinGW-w64 并配置环境变量 假设已下载并解压缩 MinGW-w64 至本地磁盘路径 D:\MinGW\mingw64 下,那么应当更新系统的 PATH 环境变量以包含此路径,并确保其格式正确无误,即添加`;D:\MinGW\mingw64` 到现有值末尾[^4]。 #### 配置 MATLAB 使用 MinGW-w64 完成上述操作后,在 MATLAB 命令窗口内运行以下指令告知软件所使用的 MinGW 位置: ```matlab setenv('MW_MINGW64_LOC', 'D:\MinGW\mingw64') ``` 随后再次尝试初始化 C++ 编译器设定: ```matlab mex -setup C++ ``` 此时应能成功检测到新安装的 MinGW-w64 编译器。 #### 执行实际编译过程 一旦确认编译器已被正确定位和支持,就可以着手处理目标 C++ 源码文件了。假定待编译源文件名为 `MyMEXCode.cpp`,则只需简单地调用如下命令即可触发编译动作: ```matlab mex MyMEXCode.cpp ``` 如果有额外依赖项(例如自定义头文件),可以通过附加参数指定这些资源的位置,像这样: ```matlab mex -I./include/ MyMEXCode.cpp ``` 这会指示 `mex` 工具链查找位于当前工作目录下的 `include` 子文件夹内的任何必要的 .h 或 .hpp 头文件[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值