前言:本人剛接觸qtcreator不久,最近要用到用qtcreaor開發程序,所以在此記錄下來,以備以後查找。
參考牛人blog:
http://blog.sina.com.cn/s/blog_493667730100zt6n.html
http://blog.csdn.net/force_eagle/article/details/5203578
http://www.eefocus.com/spencer/blog/13-11/299991_c1479.html
http://blog.csdn.net/lickylin/article/details/6397963
http://www.2cto.com/os/201303/192160.html
多謝
開發環境:
centos 6.2 32位
mpc-0.9: http://www.multiprecision.org/mpc
gmp-5.0.1:ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.bz2
mpfr-3.1.0: http://ftp.gnu.org/gnu/mpfr/
mpc0.9+gmp5.0.1+mpfr3.10
打包下載地址:http://download.csdn.net/detail/wangsky2/6697423
qtcreator 2.8.1+Qt 5.1.1 下載地址:http://qt-project.org/downloads
這裏選擇的是:
qtcreator安裝:
1.下載下來的文件是.run後綴文件,直接拷貝到centos下,雙擊進行安裝,這裏選擇默認安裝。
安裝完之後,會在applications->programming 下有個qtcreator,如下圖所示,但是這時候點擊它毫無反映,後面給出解決方法。
問題解決方法:
打開qtcreator安裝目錄,這裏安裝目錄爲:/opt/Qt5.1.1/Tools/QtCreator/bin
在這個目錄下打開命令終端,輸入:./qtcreator 提示如下錯誤:
Failed to load core: /opt/Qt5.1.1/Tools/Qt5.1.1/Tools/QtCreator/lib/qtcreator/plugins/QtProject/libCore.so: Cannot load library/opt/Qt5.1.1/Tools/Qt5.1.1/Tools/QtCreator/lib/qtcreator/plugins/QtProject/libCore.so: (/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by/opt/Qt5.1.1/Tools/QtCreator/lib/qtcreator/plugins/QtProject/../.././libQt5CLucene.so.5))
說我的libstdc++.so.6裏沒有`GLIBCXX_3.4.15。
使用如下指令
$ strings /usr/lib64/libstdc++.so.6 | grep GLIBC
得到:
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
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBC_2.0
GLIBC_2.3
GLIBC_2.4
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.3.2
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
找到gcc的安裝目錄:
which gcc
會顯示gcc的安裝目錄,在gcc安裝目錄下,lib/文件下有個libstdc++.so.6.0.16文件
輸入:strings gcc安裝目錄/libstdc++so.6.0.16 | grep GLIBC
看是否有GLIBCXX_3.4.15,如果有則libstdc++.so.6.0.16文件拷貝到/usr/lib64/ 目錄下,並修改名稱爲libstdc++.so.6;如果沒有則需要對現有gcc進行升級。
我用gcc --v, 我的gcc是
gcc (GCC) 4.4.7
這就要對自己的gcc進行升級操作了。
升級或安裝GCC編譯器:
1.下載gcc 下載地址:http://gcc.gnu.org/releases.html
這裏選擇下載4.8.0版本
2.安裝gcc還需要 GMP,MPFR,MPC這3個庫 否則直接對gcc進行編譯安裝會出現如下錯誤:gcc configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8
3.對gcc進行版本升級
下載mpc-0.9.tar.gz: http://www.multiprecision.org/mpc
下載gmp-5.0.1.tar.bz2:ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.bz2
下載mpfr-3.1.0.tar.xz: http://ftp.gnu.org/gnu/mpfr/。
先開始安裝GMP。
解壓GMP的壓縮包後,得到源代碼目錄gmp-5.0.1。在該目錄的同級目錄下建立一個臨時的編譯目錄,這裏命名爲temp。然後開始配置安裝選項,進入temp目錄,輸入以下命令進行配置:
../gmp-5.0.1/configure --prefix=/usr/local/gmp-5.0.1
make
sudo make install
mpfr和mpc的安裝方法與gmp類似。不過要注意配置的時候要把gmp與mpfr的依賴關係選項加進去,具體配置命令如下:
../mpfr-3.1.0/configure --prefix=/usr/local/mpfr-3.1.0 --with-gmp=/usr/local/gmp-5.0.1
../mpc-0.9/configure --prefix=/usr/local/mpc-0.9 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0
安裝好這三個庫之後,就可以正式開始安裝gcc了。
當然了鏈接的時候,需要剛剛編譯的3個lib。暫時導入這3個庫文件目錄:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-3.1.0/lib
然後是典型的configure,make,install三步曲。
../trunk/configure --prefix=/usr/local/gcc-4.7 --enable-threads=posix --disable-checking --disable-multilib
--enable-languages=c,c++ --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0 --with-mpc=/usr/local/mpc-0.9
make
make check(可選)
sudo make install
安裝gcc的時間比較長,等待進行安裝完成
測試gcc是否升級成功:
輸入:gcc -v
如果能夠看到顯示:gcc version 4.8.0 (GCC) 則說明新版本gcc安裝成功,如果還是顯示舊版本的gcc,則需要對gcc環境進行配置:
環境配置:
打開 etc目錄下的profile 文件
添加如下代碼:
GCCHOME=/usr/local/gcc-4.8
PATH=$GCCHOME/bin:$PATH
LD_LIBRARY_PATH=$GCCHOME/lib
export GCCHOME PATH LD_LIBRARY_PATH
export QTCDIR=/opt/Qt5.1.1/Tools/QtCreator
export PATH=$QTCDIR/bin:$PATH
export MANPATH=$QTCDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTCDIR/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-3.1.0/lib
別忘記保存退出
重啓
這時候在打開qtcreator看下,能否啓動成功
qtcreator 編譯工程出現 cannot find -lGL的解決方法
-I :說明找不到對應的庫文件
解決方法:
以下操作都在root權限下進行!
1.按照提示安裝對應的庫文件,fedora安裝庫件的格式:yum install libxxx(你要裝的庫),如果已經安裝GL庫,會顯示已經安裝
Ps:如果提示的庫文件名是大寫的,yum安裝的時候也一定要大寫,否則是找不到對應庫的