我知道有很多的話題的帖子,這可能是重複的,但我不這麼認爲。我的配置是:Matlab R2014b,鐺3.4,Ubuntu 14.04,犰狳-4.600.4。無效MEX文件,libarmadillo,無法打開共享對象文件
我有一個本地安裝(不制度上,所以包括/手動連接)犰狳的,當外界Matlab的的正常工作。 我正在嘗試使用Matlab中的Armadillo運行Mex文件。
mex -compatibleArrayDims -outdir +mx -L/home/john/.local/arma/lib -larmadillo -I/home/john/.local/arma/include test_arma.cpp
問題是,當我嘗試運行它,我得到這個錯誤:
Error using mx.test_arma
Invalid MEX-file '/path/to/+mx/test_arma.mexa64': libarmadillo.so.4: cannot open shared object file: No such file or directory
環境變量LD_LIBRARY_PATH
從啓動Matlab的外殼呼應它使用命令(截短的簡稱)編譯罰款包含/home/john/.local/arma/lib
(其中libarmadillo.so
是),並且我還使用setenv('LD_LIBRARY_PATH',...)
在Matlab內手動添加了此路徑。有什麼我失蹤?
我現在沒有鏈接,但MATLAB對'LD_LIBRARY_PATH'很有趣。也許先嚐試一個符號鏈接。另外,你確定你添加到路徑上的依賴是64位的。我不知道Ubuntu的文件夾結構。 – chappjc 2015-02-09 15:26:35
@chappjc您對64位的評論很有趣,我將仔細檢查所有內容,並從頭開始重新編譯我的共享庫,以確保沒有不匹配,因爲正如我所說我現在正在接受段錯誤,米相當有信心它不是從代碼本身。 – Sheljohn 2015-02-09 17:19:07