導航:首頁 > 源碼編譯 > matlab的編譯環境變數

matlab的編譯環境變數

發布時間:2024-11-08 06:05:51

1. 如何將Matlab程序編譯成exe文件方法介紹

我也是最近才搞定的這個問題,按下述步驟進行,就沒有問題,我已經運行成功,但是遇到你程序的bug的話,便會出現錯誤,關閉整個程序
希望這些對你有用

如何將MATLAB程序編譯成獨立可執行的程序?如何將編譯好的獨立可執行程序發布在沒有安裝MATLAB的電腦上?下面將一步步實現:

一、生成獨立可執行的程序(exe文件)步驟

1、安裝編譯器。可有多種選擇,matlab自帶了一個LCC,推薦使用VC++6.0,我基於VS 2003實現。
2、設置編譯器。在matlab命令行輸入mbuild –setup以及mex –setup,選擇安裝的c編譯器。
3、調用編譯器。此處使用MATLAB下的一個GUI平台deploytool下完全實現。在命令窗口輸入deploytool即可看到。具體使用方法請Help。
當然,也可以輸入mcc -m filaname, filaname為要轉成exe的m文件;
註:在以前的版本中,用編譯命令mcc -B sglcpp filaname;自2006的版本後,替換為mcc -mfilaname;
4、安裝<matlab path>\toolbox\compiler\deploy\win32目錄下的MCRInstaller。

二、脫離matlab運行可執行程序
MCR是由matlab的運行環境,佔用不到300M的對於用不同matlab版本生成的exe文件,MCR版本也會有不同,因此,在程序打包時,最好將相應版本的MCR一起打包。MCR環境的設置文件存放目錄如下:
<matlab path> \toolbox\compiler\deploy\win32
文件名為MCRInstaller.exe。可將其拷貝到自己的文件夾中,(7.0以前的版本是mglinstaller.exe)。
在MATLAB里運行可執行程序的辦法是在前面加一個!,比如:!picshow,後綴名可有可無。
在其它沒有安裝matlab的機器上運行exe文件前:
首先安裝matlab的運行環境。在同一機器上可以並存不同版本的matlab環境(換句話說不同版本不兼容)。
其次是要將「MCRinstaller.exe安裝目錄\runtime\win32」這個路徑添加到該計算機的環境變數中,通常是自動載入。
如果沒有,也可手動安裝,添加的方法是:
右擊「我的電腦」「屬性」「高級」「環境變數」「添加」指定一個變數名,然後將上述路徑復制到裡面就可以了。
註:在安裝過程中會彈出讓安裝Microsoft.NETFramework可以不用安裝。
最後就是將編譯生成的相相關文件拷貝到同一目錄下,雙擊即可運行。
問題:目前此方法可完全運行在沒有安裝MATLAB以及C/C++的電腦上,但是如果是在AMD的CPU可以運行,但是不會出現任何MATLAB編譯的界面。
美中不足就是,運行的時候dos的那個黑色地窗口一直存在。下面將實現去除黑屏的辦法:

消除運行MATLAB生成的exe程序的dos黑屏的辦法
基於MATLAB生成exe文件後,每次運行都存在dos黑屏的問題,現在可以通過以下方法解決:
方法一: 在命令窗口輸入:
cd(prefdir)
edit compopts.bat
在打開的文件最後添加以下語句:

A.VC環境下:

set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup

B.LCC環境下:
set LINKFLAGS=%LINKFLAGS% -subsystemwindows

2. matlab為什麼要設置環境變數

哪個版本還要設置環境變數?
通常來說環境變數的作用是引入庫文件路徑,否則使用軟體時可能有些外部庫文件會找不到

閱讀全文

與matlab的編譯環境變數相關的資料

熱點內容
華為伺服器ge是什麼意思 瀏覽:838
微鉑加密 瀏覽:173
劍橋發加密郵件 瀏覽:704
linux查看文檔命令 瀏覽:297
雲伺服器java插件 瀏覽:182
安卓手機怎麼記錄吸煙 瀏覽:482
如何找郵件伺服器 瀏覽:748
內核編譯到一半提示空間不足 瀏覽:873
新形勢下結演算法 瀏覽:571
bgp機房是否高於雲伺服器機房 瀏覽:634
安卓系統聊天記錄怎麼找 瀏覽:852
php地址傳值 瀏覽:675
成考本科程序員公司承認嗎 瀏覽:663
mc伺服器怎麼取消我的夥伴 瀏覽:322
lua為什麼需要編譯 瀏覽:83
mac轉pdf 瀏覽:967
百度文件怎麼解壓縮密碼 瀏覽:295
調用編譯器後運行程序段 瀏覽:1000
六張圖程序員的一生 瀏覽:570
javaxml模板 瀏覽:599