當(dāng)然可以
如果你使用的是MATLAB7.0以上的版本的話,,用mcc編譯后,將MATLAB安裝目錄中的MCRInstaller.exe這個(gè)文件拷出來(lái),,同編譯出的文件放在一起,,在沒(méi)有MATLAB的機(jī)子上,先點(diǎn)擊安裝MCRInstaller.exe文件,,注意:安裝目錄必須位于它所在的文件夾,,安裝完成后就可以打開(kāi)你編譯出來(lái)的EXE運(yùn)行軟件了
。,。,。。,。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
此方法經(jīng)驗(yàn)證可以使用?。?!
1.設(shè)置編譯器:
在確定安裝好Matlab Compiler后,,還需要對(duì)Compiler進(jìn)行適當(dāng)?shù)呐渲茫椒ㄊ窃贛atlab命令窗口輸入:
Mbuild –setup,, 按提示選擇matlab自帶編譯器LCC,。
2.將腳本編譯為可執(zhí)行文件:
如項(xiàng)目文件包含:gui.m, gui.gif, fun1.m。
在此路徑下命令行輸入:mcc –m
gui.m,,生成:mccExcludedFiles.log,,ReadMe.txt,gui.ctf,,gui.prj,,gui_main.c,gui_mcc_component_data.c,,gui.exe,。其中:gui.ctf,,gui.exe為脫離matlab環(huán)境運(yùn)行必需的文件。
3.在未安裝matlab的機(jī)器上運(yùn)行可執(zhí)行程序,。
將R22007b\toolbox\compiler\deploy\win32中的MCRinstaller.exe安裝到該計(jì)算機(jī)上,,將生成可執(zhí)行程序脫離matlab運(yùn)行所需的函數(shù)庫(kù)。
將2中生成的gui.ctf,,gui.exe拷貝到該計(jì)算機(jī)同一路徑,。運(yùn)行g(shù)ui.exe將生成gui_mcr文件夾,包含程序運(yùn)行所需的庫(kù),。至此完成,。
4.去除獨(dú)立可執(zhí)行程序運(yùn)行時(shí)的“DOS黑窗口”。
以上生成的exe程序運(yùn)行時(shí)首先彈出一個(gè)DOS界面窗口,,如果不需要其輸出數(shù)據(jù)和錯(cuò)誤信息,,可將其去除。
matlba命令行輸入:
cd(prefdir)
edit compopts.bat
此時(shí)compopts.bat打開(kāi),,在文件最后添加:
set LINKFLAGS=%LINKFLAGS% -subsystem windows
如果程序比較復(fù)雜,,易出現(xiàn)異常,則不建議去除這個(gè)dos窗口以便調(diào)試,。
另外,,這個(gè)辦法是適用于你用的編譯器為L(zhǎng)CC,如果是其他的,,那么所加語(yǔ)句有所不同
Microsoft Visual C/C++:
set LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS
/ENTRY:mainCRTStartup
Borland:
set LINKFLAGS=%LINKFLAGS% -aa
5.遇到某些函數(shù)不能使用的問(wèn)題,。
我的程序中用到vpa函數(shù),運(yùn)行g(shù)ui.exe出現(xiàn):undefined method or function 'vpa' for
input argument type of 'double'錯(cuò)誤提示,。而gui.m腳本在matlab環(huán)境可以運(yùn)行,。
原因:百度搜到的信息為:matlab不支持符號(hào)工具箱的編譯。只好避開(kāi)使用此函數(shù),。
另外網(wǎng)上搜索的方法不太好使?。?!
|