2013-08-20 62 views
4

我想在C使用的文件系統從升壓++升壓librairies但編譯好的

似乎使用

當「C++ -c Analyse.c -o分析編譯就可以了。 Ø-g -W -Wall -L在/ usr/local/lib目錄-lboost_filesystem -lboost_system」

但是我試圖執行我的代碼時,有下列錯誤:

「錯誤而載入共享庫:libboost_filesystem.so.1.54.0:無法打開共享對象文件:沒有這樣的文件或目錄」,查找/ -iname「libboost_system.so.1.54.0

我有一些問題需要安裝boost(我首先安裝了1.49,之後安裝了1.54),所以我想知道2版本之間是否會有衝突?

P.S:BTW一個"find/-iname "libboost_system.so.1.54.0"給了我下面的

/usr/include/boost/boost_1_54_0/bin.v2/libs/system/build/gcc-4.7/release/threading-multi/libboost_system.so.1.54.0 

/usr/local/lib/libboost_system.so.1.54.0 
+0

當我鏈接boost庫時,我通常只鏈接庫路徑,即/ usr/local/lib。我不指定庫名稱。 BTW提升1.49和提升1.54應該在分開的文件夾。 – LukeCodeBaker

回答

4

嘗試執行之前添加的目錄。例如: LD_LIBRARY_PATH="/usr/local/lib/" ./Analyse.o

0

我剛剛在全新安裝boost後遇到了這個問題。在我的情況下,解決方案是簡單地運行

sudo ldconfig 

的解釋是,該系統保持安裝的共享庫(位於/usr/lib/lib/usr/local/lib)的緩存。當更改庫或添加新庫時,只有在運行ldconfig之後纔會更新緩存。詳細信息請參見ldconfig manual