下載安裝后 啟動的時候提示 GLIBCXX_3.4.15,發現libstdc++.so.6的版本過, 在安裝qt-creator的時候運行這個IDE就出現了這個問題,是由於libstdc++.so.6的版本過低,需要下載個新的重新建立軟連接。 我這里是 更新里 gcc 版本到 4.8 解決的,更新之后做里鏈接 ln -s /usr/lib/libstdc++.so.6 /usr/local/lib/libstdc++.so.6.18 下面是詳細的解決過程 1.【分析過程】 linux 執行strings /usr/lib/libstdc++.so.6 | grep GLIBC 返回結果沒有GLIBCXX_3.4.15 GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBC_2.0 GLIBC_2.3 GLIBC_2.4 GLIBC_2.3.4 GLIBC_2.1 GLIBC_2.1.3 GLIBC_2.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH 執行ls -l /usr/lib/libstdc++.so.6 發現/usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.12,其實這里需要使用libstdc++.so.6.0.12 從網上下載這個文件,然后rm -rf /usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.12軟鏈接刪除,重新做 關鍵是 網上下載的不對或者 沒有找到,然后重新編譯GCC 4.8的版本 2.【更新GCC】 1、下載gcc 4.8.1源碼包: http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.8.1/gcc-4.8.1.tar.bz2 我是虛擬機里面裝的Linux,我嫌wget太慢,所以自己在Windows上用迅雷下好,然后共享到Linux中。 2、解壓: tar -jxvf gcc-4.8.1.tar.bz2 3、下載編譯所需的依賴包: 這個步驟有兩種方式完成: a) 如果Linux有網絡連接,直接這樣: cd gcc-4.8.1 ./contrib/download_prerequisites cd .. b) 如果Linux沒有網絡連接(我主機和虛擬機是Host-only,不能聯網,所以另外想辦法),則用Windows上網下載這幾個包: ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2 http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz 有人問,一定要下載幾個版本嗎?下載最新的版本行不行?我沒試過,也不知道,我是按照gcc-4.8.1/contrib/download_prerequisites腳本里面的版本下載的。既然里面已經說了這幾個版本,那我就嚴格按照它的要求來做。 然后解壓並移動到gcc-4.8.1下面: tar -xjf gmp-4.3.2.tar.bz2 tar -xjf mpfr-2.4.2.tar.bz2 tar -xzf mpc-0.8.1.tar.gz mv gmp-4.3.2 gcc-4.8.1/gmp mv mpfr-2.4.2 gcc-4.8.1/mpfr mv mpc-0.8.1 gcc-4.8.1/mpc 這樣的做法好處是,不用單獨編譯gmp、mpfr和mpc三個包,放在gcc源碼下面一起編譯(事實上這也是gcc-4.8.1/contrib/download_prerequisites腳本的做法,個人感覺更簡潔些)。 4、新建目錄用於存放編譯結果: mkdir gcc-build-4.8.1 5、進入新目錄,並執行configure命令,產生makefile: cd gcc-build-4.8.1 ../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib 具體選項不多解釋,大家可以自己查看,我只用到c和c++,所以只編譯這兩種語言的編譯器。 6、編譯: make -j4 編譯一個小時左右.... 7、安裝: sudo make install 8、大功告成,檢查版本: g++ --version g++ (GCC) 4.8.1 3.【更新鏈接】 發現/usr/lib下的 libstdc++.so.6.0.12 沒有被更新,查找 結果得知 g++ make install 在 /usr/local/bin 目錄, ln -s /usr/local/lib/libstdc++.so.6.18 /usr/lib/libstdc++.so.6
或
ln -s /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6
---------------------------------------------------------------------------------------------
來源於:http://www.cnblogs.com/sitemaker/archive/2013/07/11/3185039.html