1.设置编译器:
首先需要配置自己的Matlab Compiler,Matlab Compiler的作用是将程序编译成为机器可以直接执行的程序。配置Compiler的方法是在Matlab命令窗口输入:
mbuild -setup, 按提示选择matlab自带编译器LCC。
实验记录:
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications:
Would you like mbuild to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2007a\sys\lcc
[2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio
[0] None
Compiler: 1
Please verify your choices:
Compiler: Lcc-win32 C 2.4.1
Location: D:\PROGRA~1\MATLAB\R2007a\sys\lcc
Are these correct?([y]/n): y
Trying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2007a\compopts.bat
From template: D:\PROGRA~1\MATLAB\R2007a\bin\win32\mbuildopts\lcccompp.bat
Done . . .
--> "D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvr D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcomutil.dll"
DllRegisterServer in D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcomutil.dll succeeded
--> "D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvr D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcommgr.dll"
DllRegisterServer in D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcommgr.dll succeeded
>>
说明:因为我的机器上原来装有Microsoft Visual C++ 6.0,所以会有两个编译器,会提示你选择一个,这里选择系统自带的,也就是“1”。
2、编译已经写好的m文件
说明:mywavelet.m是我写的测试文件,内容如下:
function mywavelet
clear all;
a=[100:900];
b=sqrt(a);
plot(a,b);
在matlab环境中编译文件,方法是:mcc -m mywavelet 。其中mywavelet为要转成exe的m文件。执行完毕后,会发现在MATLAB的Current Directory目录下,会出现一些新文件,注意观察^_^。这些文件就是,编译好的文件。这时,可以点一下exe文件,看看是否正常,显示图片否?
ok后,将它们拷到一个新文件夹下,保管好啦~
3、寻找所需要的动态链接库
在已安装Matlab机器上,找MCRInstaller.exe的文件,我的是在这个目录下:
D:\Program Files\MATLAB\R2007a\toolbox\compiler\deploy\win32\MCRInstaller.exe
不同的MATLAB版本,可能路径不一样,自己找一下。(7.0以前的版本是mglinstaller.exe)。
找到后,把它也复制到我们保管好的文件夹中,这样我们的文件家中有两类东西,1、MCR安装程序,2、编译好的程序。
4、将保管好的文件夹移植其他的电脑上
这个电脑最好没有装MATLAB,以检查在没有MATLAB的环境下,可执行程序是否可以执行。一般是会有问题的,因为还有很多动态链接库没有考过来,程序运行时,会找不到很多东西。
我们需要做的是,双击安装MCRInstaller.exe,安装目录就选我们当前的目录。确保我们编译好的程序,和安装MCR之后的文件在同一目录下。
结束,点击可执行文件,应该能出现图片。试试看。