為什么安裝了MinGW之后,還是不能在Matlab中使用mex?


原文地址:http://blog.sina.com.cn/s/blog_53c7b1580102xjcw.html

老版本的Matlab自帶lcc,在Matlab中輸入mex -setup就可以選擇、設置。如果電腦中還安裝了VC之類的其它C編譯器,Matlab也會列出,供你選擇哪個編譯器。
但高版本的Matlab用起來沒這么簡單。
我用2015b,輸入mex -setup,提示:
“錯誤使用 mex
未找到支持的編譯器或 SDK。您可以安裝免費提供的 MinGW-w64 C/C++ 編譯器;請參閱安裝 MinGW-w64 編譯器。如需更多選項,請參閱
http://www.mathworks.com/support/compilers/R2015b/win64.html。

我按照說明到“附加功能”里去添加MinGW,結果附加功能管理器頁面的小風扇轉啊轉,就是轉不出來。
只好自己百度了一下MinGW-w64,若干版本,裝了一個,不管用。
后來仔細看Matlab的說明,發現Matlab支持的版本是這個樣子的:
為什么安裝了MinGW之后,還是不能在Matlab中使用mex?
於是又去找TDM-GCC(http://tdm-gcc.tdragon.net/download)。安裝后,還是不靈。
后來上網搜了一下,找到原因了。
1、我安裝的TDM-GCC是32位的,要下64位的。重新下載、安裝(注意安裝時應去掉上圖中那個打勾的選項)。
2、但這還不夠,還要在系統屬性中設置環境變量。
計算機→屬性→高級系統設置→高級,有個環境變量,就是這個:
為什么安裝了MinGW之后,還是不能在Matlab中使用mex?
點開,選系統變量下的“新建”,變量名寫“MW_MINGW64_LOC”,變量值輸入之前安裝的TDM-GCC的目錄,就是“C:\TDM-GCC-64”。確定。
為什么安裝了MinGW之后,還是不能在Matlab中使用mex?

3、再到Matlab中設置Matlab的臨時環境變量,在Matlab中輸入:
setenv('MW_MINGW64_LOC','C:\TDM-GCC-64')
4、再輸入mex -setup C++就可以了。

 


5、不過,Matlab這個環境變量好像是臨時的,所以可以在Matlab的起始目錄下建一個startup.m文件,把設置環境變量的語句放在這個m文件中,這樣每次Matlab啟動就會自動執行了。

官方說明在這:
https://cn.mathworks.com/matlabcentral/answers/313298-i-already-have-mingw-on-my-computer-how-do-i-configure-it-to-work-with-matlab


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM