1. 程式人生 > >CentOS安裝Qt編譯錯誤以及無法除錯的問題解決( /usr/bin/ld:cannot find –lGL 和 Debugginghas failed)

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 

執行完命令問題隨之解決。

2Debugging has failed解決辦法:

問題出在Qt Creator需要gdb7.5以上和python2.7以上,而CentOS6.5附帶的是gdb7.2python2.6.6

解決辦法就是下載安裝符合要求的gdbpython。我的選擇是gdb7.6.2python2.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可用