我試圖從由Manolis Lourakis(Available here))在C編寫的Levenberg-Marquardt算法中構建一個mex文件。我做了很多搜索,但一直沒有找到類似的問題或解決方案,但(從這個論壇很多!)。爲Levenberg-Marquardt算法構建Mex時出錯 - 說存在的目錄不存在
作者包含一個C網關函數,我已經設法解決了我從makefile中得到的錯誤。現在,當我嘗試建立makefile文件,我看到下面的錯誤:
/var/folders/w6/c4f9x2qn7zb2srs97ngpvflh0000gn/T//mex_112796979375_74657:
line 2: -L/Applications/MATLAB_R2016b.app/bin/maci64: No such file or directory
Error using mex The command '/usr/bin/xcrun' exited with a return value '0'
這似乎是說,/Applications/MATLAB_R2016b.app/bin/maci64,是不是到目錄「maci64」的路徑。這很奇怪,因爲當你沿着路徑走時,這個目錄肯定是存在的。我用來構建文件中的代碼作爲自述文件中指示:
mex -DHAVE_LAPACK -I.. -O -L</Users/martinmackinnon/Documents/MATLAB/levmar-2.6/levvy> levmar.c -llevmar -lclapack -lblas -lf2c
凡與選項L的路徑,就是將所有的文件只是路徑包含在所提供的「levmar」庫作者。
我的操作系統是mac OS 10.12.1,MATLAB版本是MATLAB_R2016b。
我也嘗試過在OS X 10.11.6和MATLAB_R2015b上運行的系統,但得到相同的錯誤。
任何幫助將不勝感激。
非常感謝。
您可以參考'/ Applications/MATLAB_R2016b.app/bin/maci64'作爲「文件」。它真的是一個文件,還是一個目錄?如果它是一個文件,那可能是你的問題:'-L'標誌用於目錄。 – jez
我誤寫了,道歉。它實際上是一個目錄。 –
請注意,閱讀包含'.... maci64',不是文件'maci64'的路徑''作爲目錄'maci64'的路徑' –