caffe與MATLAB連接踩的坑


剛來公司用的服務器,分配給自己賬號,安裝了caffe,配好了Makefile.config中的MATLAB dir。

之后問題來了

解決方法:

在Makefile里面,大約第410行那一句話CXXFLAGS += -MMD -MP下面添加CXXFLAGS += -std=c++11,最后是這樣
CXXFLAGS += -MMD -MP
CXXFLAGS += -std=c++11
然后在caffe根目錄下make clean,make all

之后再matcaffe,successfully.耶!

but,運行.m文件又出現問題了

Invalid MEX-file ‘*/caffe/matlab/caffe/caffe_.mexa64’: /usr/local/Matlab/R2013a/sys/os/glnxa64/libstdc++.so.6: undefined symbol:

各種查資料,基本都是讓

sudo rm /usr/local/Matlab/R2014b/sys/os/glnxa64/libstdc++.so.6 sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/local/Matlab/R2014b/sys/os/glnxa64/libstdc++.so.6 
remove 還要軟鏈接,,可是我沒有權限啊。。不得已又和掌櫃的要了權限。
但還是不行。。納尼,要鬧哪樣。

 

PS:只替換庫libstdc++.so.6是不行的,要解決此問題需要多替換幾個庫。輸入終端命令:

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libfreetype.so.6

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/

 

注意:目錄/usr/lib/x86_64-linux-gnu/是我的系統庫目錄。大家可以通過查詢庫所在位置來確定自己的系統庫目錄:

sudo find / -name  libstdc++.so.6

 

重新運行make mattest , 問題徹底解決~

 

 


免責聲明!

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



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