CentOS安裝Qt編譯錯誤以及無法除錯的問題解決( /usr/bin/ld:cannot find –lGL 和 Debugginghas failed)
CentOS安裝Qt編譯錯誤以及無法除錯的問題解決
1、前提
系統: CentOS-6.5-x86_64-minimal.iso 最小化linux. 手動安裝x-winodws介面。
Qt版本:qt-opensource-linux-x64-5.6.0.run。
安裝qt需要centos的介面支援。
1、x-windows簡便的安裝方法:
(如果網路比較快,這個方法簡單)
yum groupinstall "Desktop"
yum groupinstall "X Window System"
yum groupinstall "Chinese Support"
startx
這樣其他的東西可以不用安裝。安裝完成,安裝vmwaretools適應虛擬機器。支援很多功能。安裝方法:
獲取vmware-tools映象
獲取映象:
Centos介面上出現VMWare Tools光碟機圖示;
cd /media/VMware\ Tools/ 進入光碟機(注意Tools前邊有空格)
掛載成功以後在VMwareTools裡邊有一個 VMwareTools-10.0.10-4301679.tar.gz (版本可能不一樣)
將VMwareTools-10.0.10-4301679.tar.gz解壓到桌面或者當前目錄。(最好將包拷貝出來,光碟機裡不一定能解壓成功。)
tar -zxvf VMwareTools-10.0.10-4301679.tar.gz(解壓縮tar包,我的包在root下,所以就地解壓)
cdvmware-tools-distrib/
./vmware-install.pl //執行vmware-install.pl安裝。
後面一路回車就好了…….
等安裝完成,注意仔細看還要手動做一些操作,這裡不列出來,我懶得一項項去搞,直接用最粗暴直接的方法:reboot。
安裝完成, startx啟動。
1、 安裝Qt。
將qt-opensource-linux-x64-5.6.0.run拷貝到使用者目錄下。
執行:./ qt-opensource-linux-x64-5.6.0.run
彈出安裝介面,接下來和windows一樣了,一路向下即可。
2、 出現錯誤
新建Qt專案,編譯:出現編譯錯誤: Qt5.6.0遇到 /usr/bin/ld:cannot find –lGL的錯誤;
如果解決了該問題,可以編譯通過, 但是如果你直接F5除錯話,會報出另一個錯誤:
Qt Creator除錯程式時總是報錯:Debugginghas failed。
3、 解決辦法
以上兩個問題的解決:
1、/usr/bin/ld: cannotfind –lGL的錯誤問題:
使用root許可權操作;
按照提示安裝對應的庫檔案,安裝庫件的格式:yum install libxxx(你要裝的庫),如果已經安裝GL庫,會顯示已經安裝。
安裝完庫檔案以後,還不能馬上執行,如果沒有庫的標頭檔案,編譯器是檢測不到庫的,還需要安裝庫的標頭檔案,fedora安裝庫標頭檔案的格式:yum install libxxx-devel,還是該大寫就大寫。
完整安裝命令:yum install libGL libGL-devel
執行完命令問題隨之解決。
2、Debugging has failed解決辦法:
問題出在Qt Creator需要gdb7.5以上和python2.7以上,而CentOS6.5附帶的是gdb7.2和python2.6.6。
解決辦法就是下載安裝符合要求的gdb和python。我的選擇是gdb7.6.2、python2.7.5(測試發現7.6.1是不行的)。
首先安裝python2.7.5
安裝方法:Centos安裝升級python2.7.5
1.下載python2.7.5,儲存到 /data/qtongmon/software
http://www.python.org/ftp/python/
2. 解壓檔案
tar xvf Python-2.7.5.tar.bz2
3. 建立安裝目錄
mkdir /usr/local/python27
4. 安裝python
./configure --prefix=/usr/local/python27
make
make install
5. 修改老版本的ln指向(注意:這裡修改後,可能會影響yum的使用)
mv /usr/bin/python /usr/bin/python2.4.3
ln -s /usr/local/python27/bin/python /usr/bin/python
6.檢視安裝成功
python–V
Python2.7.5
我安裝成功後,yum確實不能用了。不要著急可以解決的:見附錄。
接下來安裝:gdb7.6.2
安裝方法:
1.如有安裝過先解除安裝gdb舊版本
rpm -qa | grep gdb
rpm -e --nodeps gdb-7.2-60.el6_4.1.i686
2. 安裝Texinfo文件系統
yum install ncurses-devel
3. 下載gdb 7.6.2原始碼包
http://ftp.gnu.org/gnu/gdb/gdb-7.6.2.tar.gz
將原始碼包放在home目錄的Download目錄中
4. 解壓縮gdb 7.6.2原始碼包
cd /root/Downloads/
tar -zxvf gdb-7.6.2.tar.gz
5. 生成makefile
cd /root/Downloads/gdb-7.6.1
./configure
make
sudo make install
6. 檢視安裝是否成功。
最後:cpgdb/gdb /usr/bin/gdb
gdb –v
這時說明安裝完成。
接下來試試開啟qt之前新建的專案開啟原始碼加一個斷點,直接F5試試看。可以除錯了。
4、 附錄
CentOS系統Python升級後yum不可用的解決辦法
Python升級後使用yum出現下圖:
這是因為yum命令是基於Python開發的,當Python升級後,yum命令找不到其所依賴的檔案導致不可用。
如何解決呢?
編輯yum的配置檔案
vi /usr/bin/yum
將檔案首行
#!usr/bin/python
修改為
#!/usr/bin/python2.6.6 (或者2.6也可行)
儲存退出!
經測試yum可用