歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

使用matlab進行mex編譯時的路徑問題mexopts

matlab和vs 進行混合編程時總需要使用matlab編譯mexFunction.cpp文件。這些文件免不了使用include下的*.h和lib下的*.lib文件。舉例說明,這次我的cpp中用到了opencv/cv.h。在matlab\bin\win64\mexopts文件夾下有一個msvsopts100.bat的批處理文件。

用notepad 將這個文件打開在”include=“ 和 “lib=” 後面添加需要使用的路徑並加分號“;”

設置好之後保存。然後在matlab 中 輸入mex mexFunction.cpp。但是還是會出現 cannot open file “opencv/cv.h”。這是為什麼呢?

仔細觀察發現mscvopts100.bat 中第6行中有這樣一句話rem C++keyName: Microsoft Visual C++ 2010。這句話證明mscvopts100.bat ,在mex -setup的過程中修改過。因此可以猜測需要再次進行mex -setup 才能使這些路徑生效。經過試驗,確實如此。困擾了我兩周。希望能給大家省時間。

Matlab與C/C++聯合編程之從Matlab調用C/C++代碼 http://www.linuxidc.com/Linux/2012-08/68148.htm

二分類SVM方法Matlab實現 http://www.linuxidc.com/Linux/2013-05/84050.htm

Matlab中的取整函數fix, floor, ceil與round http://www.linuxidc.com/Linux/2013-10/91161.htm

Matlab編譯cuda的.cu文件 http://www.linuxidc.com/Linux/2014-04/100675.htm

Copyright © Linux教程網 All Rights Reserved