使用MATLAB将.m文件转化为.exe文件

一、环境:

1、MATLAB R2017a

2、MATLAB Compiler

4、Win64

 

·MATLAB Compiler (MinGW-w64 C/C++ Compiler)下载链接

a)MATLAB R 2017b及以后版本可使用下面的链接下载

https://ww2.mathworks.cn/matlabcentral/fileexchange/52848-matlab-support-for-mingw-w64-c-c-compiler

b)MATLAB R2015b, R2016a, R2016b, R2017a需要使用旧的版本 MinGW GCC 4.9.2 from TDM,下载链接:

https://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1309.0/

选择4.9.2的版本

 

注意:

MinGW 安装文件夹名称不能包含空格

不要将 MinGW 安装在路径名中包含空格的位置。例如,不要使用:

C:\Program Files\mingw-64

应改用:

C:\mingw-64

 

二、运行

1、在安装Compiler之后,在MATLAB的Command Window内输入

>> mex –setup

注意命令中间的空格和短横线

a)如果出现如下提示说明没有问题了:

b)如果仍然报错,提示没有找到相应的SDK,出现如下错误:

则需要手动添加,在命令行内输入

>> setenv('MW_MINGW64_LOC',folder)

folder指代Complier安装的位置,例如'C:\TDM-GCC-64'

然后再输入

>> mex –setup

即可。

 

详细可参考

https://ww2.mathworks.cn/matlabcentral/answers/313298-i-already-have-mingw-on-my-computer-how-do-i-configure-it-to-work-with-matlab

2、在命令行输入

>> mcc -m test

即可实现将test.m文件转换成test.exe文件

Matlab.m文件转换为可调用的C++库有多种方法。以下是一种常见的方法: 首先,将Matlab.m文件转换为C++语言。可以使用Matlab提供的嵌入式功能来生成C代码。在Matlab命令行下,可以使用`codegen`函数将.m文件转换为C代码。例如,如果我们有一个名为`myfunc.m`的Matlab函数文件,可以使用以下命令将其转换为C代码: ```matlab codegen myfunc.m -config:lib -args {input_arg1, ... , input_argn} ``` 其中`input_arg1, ... , input_argn`是该函数的输入参数。转换完成后,将会生成一个名为`myfunc`的文件夹,其中包含了C代码的相关文件。 接下来,创建一个用C++编写的接口函数,使得C++代码能够调用C代码。这个接口函数将充当C代码和C++代码之间的桥梁。在C++代码中,可以使用外部关键字`extern`来声明C代码中的函数。然后,在这个接口函数中,可以将C++的数据类型转换为C的数据类型,并调用C代码中相应的函数。 最后,将C++代码编译成一个库文件,以便其他C++程序可以调用。可以使用C++编译器(如g++)将C++代码编译为动态链接库(.dll)或静态库(.lib)。编译的命令可能会有所不同,具体取决于所使用的编译器。编译完成后,将会生成一个库文件,可以在其他C++程序中使用。 综上所述,将Matlab.m文件转换为可调用的C++库的过程包括将.m文件转换为C代码,编写C++接口函数,并将C++代码编译为库文件。通过这个过程,用户可以在C++环境中使用原本只能在Matlab环境中运行的函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值