Linux RedHat 9 QT4的編譯、調試環境的搭建

來源:互聯網
上載者:User

Linux RedHat 9 上內建的QT版本是QT3.1.1的,所以想享受QT4的樂趣必須將其升級下,先下載QT4原始包(我找了很久都沒找到rpm包,所以只好自己編譯了)我下的版本為“qt-x11-opensource-src-4.3.4.tar.gz",下載到linux中解壓,我在XWindow中直接右擊“解壓到。。”,呵呵,懶得敲Linux那些煩人的命令。在之前呢,最好先做些工作,不然下面編譯會出錯的。

開啟個終端,輸入:

  1. ln -s /usr/kerberos/include/com_err.h /usr/include/ 
  2. ln -s /usr/kerberos/include/profile.h /usr/include/ 
  3. ln -s /usr/kerberos/include/krb5.h /usr/include/

反正在這個系統裡是這樣設定的,不然你編譯一般就會報出一個關於“krb5.h”的錯誤。

其他QT版本,如你下到的:“qt-x11-opensource-src-4.4.3.tar.gz”,還需修改裡面的一些檔案,它會報“`TIFFReadRGBAImageOriented' undeclared”的錯誤,修改方法:開啟 qtiffhandler.cpp 把 TIFFReadRGBAImageOriented(tiff, width, height, reinterpret_cast<uint32 *>(tiffImage.bits()), ORIENTATION_TOPLEFT, 0))改為
TIFFReadRGBAImage(tiff, width, height, reinterpret_cast<uint32 *>(tiffImage.bits()), 0)就好了,因為RedHat 9裡的 usr/include/tiffio.h沒有前一個函數。

下面開始就開始編譯安裝羅,就等吧。

在終端內,cd到解壓出來的檔案下面,然後輸入:

  1. ./configure
  2. gmake
  3. gmake install

整個過程大約需要2個多小時。

安裝好之後就出現下面的介面,對了,它安裝的預設路徑是:/usr/local/Trolltech/Qt-4.3.4下面

下面來配置Qt4的環境變數:

  1. //開啟 /etc/profile 檔案,在該檔案的末尾加上以下語句:
  2. PATH=/usr/local/Trolltech/Qt-4.3.4/bin:$PATH
  3. QTDIR=/usr/local/Trolltech/Qt-4.3.4
  4. MANPATH=$QTDIR/man:$MANPATH
  5. LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
  6. export PATH QTDIR MANPATH LD_LIBRARY_PATH

系統預設開啟的是Qt3,現在我們來修改,啟動Qt3的關聯檔案在“/usr/bin”下面,找到“designer”,我們發現這個檔案果然連結的是Qt3的執行檔案,在清楚了designer是個連結,通過designer指向qt3的designer, 現在想讓designer預設為qt4的designer, 只要重新導向連結。同樣,想要qmake也預設為QT4的也一樣,只要重新導向連結。

  1. sudo rm /usr/bin/designer
  2. sudo ln -s /usr/local/Trolltech/Qt-4.3.4/bin/designer /usr/bin/designer
  3. sudo rm /usr/bin/qmake
  4. sudo ln -s /usr/local/Trolltech/Qt-4.3.4/bin/qmake /usr/bin/qmake

我的建議最好把那個跟“/usr/local/Trolltech/Qt-4.3.4”下面的執行檔案有關的都修改一下連結。這樣便可以徹底的使用QT4了。

QT4預設的字型會出現亂碼,我們來設定下,開啟qtconfig,選“Forts”按照來設定,其他不變。


開啟qdesigner出現我們盼望已久的QT4介面

下面我們來安裝調試編譯環境,這裡就不選KDevelop系列了,以為安裝起來比較蠻煩,第一RedHat9內建的QT是3.1.1的,要安裝KDevelop3.5(可以調試QT4程式),必須要系統Qt版本>=3.3&&<4.0,我還得把Qt升級到3.3,那還不累死啊,所以這裡我就選用比較輕量級的QDevelop0.26的,我之所以說是輕量級的,是因為其“安裝”(只需要編譯(必須要Qt4.3.x)下,然後使用其執行檔案)時間很短。

下載“qdevelop-0.25.2.tar.gz”,解壓,只需要qmake QDevelop.pro 再make一下,此過程耗時大約十分鐘吧。

編譯如果出現下面的錯誤:

  1. src/InitCompletion.cpp: In destructor `virtual
  2.    InitCompletion::~InitCompletion()':
  3. src/InitCompletion.cpp:52: parse error before `+' token
  4. src/InitCompletion.cpp:53: confused by earlier errors, bailing out
  5. make: *** [build/o/unix/InitCompletion.o] Error 1

只需要修改src目錄下的InitCompletion.cpp檔案:

  1. //原檔案
  2. InitCompletion::~InitCompletion()
  3. {
  4.     QStringList list = QDir( QDir::tempPath() ).entryList(QStringList() << "qdevelop-completion-*", QDir::Files);
  5.     foreach(QString file, list)
  6.     {
  7.         QFile( QDir::tempPath()+"/" + file ).remove();
  8.     }
  9.     ........................
  10. // 修改如下
  11. InitCompletion::~InitCompletion()
  12. {
  13.     QStringList list = QDir( QDir::tempPath() ).entryList(QStringList() << "qdevelop-completion-*", QDir::Files);
  14.     foreach(QString file, list)
  15.     {
  16.         QString str = QDir::tempPath()+"/";
  17.         QFile( str + file ).remove();    
  18.     }
  19.     ........................

編譯好之後便可以運行使用了。

我們來建立一個工程,先感覺下:

QDevelop的缺點就是不能正常顯示中文,鬱悶,我只好在其他地方寫好,然後粘貼過來。

編譯、運行:

下面給我們的程式在案頭上按個家:

這樣就可以跟在windows下面開發差不多了。增加了開發效率。

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.