2014-05-06 107 views
34

當我運行我的程序下進行編譯,我得到以下錯誤:版本未找到(由...需要)`CXXABI_1.3.8'

./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version CXXABI_1.3.8' not found (required by ./prog) ./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.19' not found (required by ./prog) ./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/arman/lib/boost_1_55_0/stage/lib/libboost_serialization.so.1.55.0)

我都升壓1.55.0和gcc 4.9 .0分別安裝在~/lib/boost_1_55_0~/lib/gcc-4.9.0,我猜這就是我遇到問題的原因,但我不確定如何解決它。

~/.profile包含以下行:

export LD_LIBRARY_PATH=/home/user/lib/boost_1_55_0/stage/lib:$LD_LIBRARY_PATH

+0

FAQ:http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths –

回答

32

GCC 4.9引入了一個新的C++ ABI版本比你的系統的libstdC++了,所以你需要告訴裝載機通過添加使用圖書館的這個新版本路徑爲LD_LIBRARY_PATH。不幸的是,我不能直接告訴你在你的GCC 4.9安裝所在的libstdC++的位置,因爲這取決於你如何配置GCC。所以,你需要的東西在的風格:

export LD_LIBRARY_PATH=/home/user/lib/gcc-4.9.0/lib:/home/user/lib/boost_1_55_0/stage/lib:$LD_LIBRARY_PATH 

注意實際的路徑可能不同(可能有一些子目錄下還有隱藏的,像`x86_64的未知-Linux的GNU/4.9.0'或類似) 。

+0

在這種情況下,它可能位於'/home/user/lib/gcc-4.9.0/lib64 ' –

+0

有關qtox的幫助(不知道爲什麼這個頁面是修復qtox的第一次打擊),請參閱https://github.com/tux3/qTox/issues/3358#issuecomment-233700842 – Ninjaxor

相關問題