|
平時跑論文的里MATLAB代碼很多都是調(diào)用了c的函數(shù),然而然而就是在MATLAB里編譯C這個小問題卻困擾了我很久。 在matlab中編譯C程序?yàn)閙atlab可識別的mex文件需要使用命令: mex filename.c 。在這之前需要時用命令:mex -setup C++ 來更改缺省的compiler為相應(yīng)的C編譯器。如果沒有安裝matlab支持的編譯器就會報錯: 錯誤使用 mex 這時可以直接通過連接下載安裝微軟的SDK7.1。在安裝時可選項(xiàng)中點(diǎn)選visual C++ compiler就可以了。 當(dāng)然這是順利的情況,我成功過一次。 但是后來換一臺電腦,問題就來了,安裝了SDK7.1還是報錯,后來發(fā)現(xiàn)可選項(xiàng)visual C++ compiler是灰的,不能點(diǎn)選。提示是缺少.NET Framework 4.0的支持??墒俏也榭戳艘幌拢桥_電腦有安裝最新的.NET Framework,再安裝會提示已安裝最新版本,而且想卸載重裝都不行,用用微軟官方的Windows Install Clean-up都搞不定。后來知道,這是因?yàn)楫?dāng)初安裝的時候沒成功,有殘留,這就惡心了。(要解決這個麻煩就是另外一個問題了,在這里就不贅述了) 還有一次不存在上述問題,成功安裝了SDK7.1,但是還是不行。那次我用的是matlab 2014a 的破解版。這個就有點(diǎn)不講道理了。后來看到很多人有同樣的問題。這可能是網(wǎng)上廣為流傳的那個2014a的破解版本身的問題。所以遇到這種情況的朋友可以換一個版本的matlab試一下。 不過還是有其它方法解決的。那就換一個編譯器,我選擇的是TDM-GCC,Matlab本身也推薦這個。 大概步驟是: 第一步:下載TDM-GCC(注意看清是32位還是64位),TDM-GCC的安裝路徑不要包括空格; http://tdm-gcc./download 第二步:新建環(huán)境變量MW_MINGW64_LOC,設(shè)置為TDM-GCC-64的安裝位置; 第三步:在MATLAB命令行內(nèi)運(yùn)行命令setenv(‘MW_MINGW64_LOC’,folder),folder為TDM-GCC的安裝位置,要加單引號; 最后,重啟一下MATLAB;
|
|
|