最近準備做 Nokia 的 Symbian,Maemo 下觸摸屏開發。考慮到程序的跨平臺可移植性,最終選擇使用 Qt 開發。相對來說,國內關于 Qt 相關文檔并不算很多。作者將 Linux 下編譯并安裝配置 Qt 全過程總結了一下,只希望可以方便更多的朋友!
1、獲得源代碼
src 官網下載地址:ftp://ftp.qt.nokia.com/qt/source/
2、解壓縮
tar xvfz qt-x11-opensource-src-4.7.4.tar.gz
建議解壓到/use/local目錄,并重命名為Qt-4.7.4
3、生成 makefile 文件
./configure
這個時候他會問你:“Which edition of Qt do you want to use?”
然后給你兩個類型供選擇:
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.
第一個是商業版,第二個是自由版。
選擇 'o'(Qt/嵌入式自由版是Qt為了開發自由軟件提供的嵌入式版本)。
這時候,出現許可界面。
選擇 'yes' 接受許可協議。
開始生成 makefile 文件。這個大約需要 5 -10 分鐘的時間。
編譯時可能出現"Basic XLib functionality test failed!"的錯誤,根據以往的經驗,在./configure前主動裝好下面3個包,基本上就萬事大吉了
sudo apt-get install libX11-dev libXext-dev libXtst-dev
4、Qt 編譯
make
這個過程時間比較長,需要兩個小時左右。
此時若出現/usr/bin/ld: cannot find -lxxx 問題,其中xxx即表示函式庫文件名稱
一般出現這種錯誤有以下幾種原因:
1.系統缺乏對應的庫文件;
2.版本不對應;
3.庫文件的鏈接錯誤;
4.庫文件路徑設置問題。
對應第一第二種情況,可以通過下載安裝lib來解決,ubuntu大多數可以直接通過apt-get來安裝:
apt-get install libxxx-dev
1.如果在./configure階段,出現了以下錯誤
Basic XLib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11
那是因為沒裝有libxtst-dev,使用命令apt-get install libxtst-dev安裝
2.如果在make階段,出現一下錯誤
/usr/bin/ld: cannot find -lXrender
collect2: ld returned 1 exit status
make[1]: *** [../../../../lib/libQtWebKit.so.4.7.3] 錯誤 1
make[1]: Leaving directory `/home/debian/桌面/qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/WebCore'
make: *** [sub-webkit-make_default-ordered] 錯誤 2
那是因為沒有裝libxrender-dev
3.在qt create中,嘗試編譯測試,如果找不到qmake,則在工具-選項-QT4中手動設置qmake的位置。qmake的位置默認在/usr/local/Trolltech/Qt-4.7.3/bin/qmake。
5、Qt 安裝 運行 make install 默認安裝至 /usr/local/Trolltech/Qt-4.7.4 大約 5 - 10 分鐘。正常結束,安裝完畢。 運行 /usr/local/Trolltech/Qt-4.7.4/bin/designer ,看見 qt 啟動,也就是說 qt 安裝好了。此時中文系統的菜單欄可能不顯示,需要運行/usr/local/Trolltech/Qt-4.7.4/bin/qtconfig配置一下字體 6、設置環境變量
一。先修改用戶環境變量
vi /home/defonds/.bashrc
在其最后添加以下信息
export QTDIR=/usr/local/Trolltech/Qt-4.7.4
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
二。再修改所有用戶環境變量
vi /etc/profile
在其最后添加以下信息
export QTDIR=/usr/local/Trolltech/Qt-4.7.4
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
三。測試一下
重新開一個終端,輸入命令:
qmake -v
輸出結果:
QMake version 2.01a
Using Qt version 4.7.4 in /usr/local/Trolltech/Qt-4.7.4/lib
輸入命令:
which qmake
輸出結果:
/usr/local/Trolltech/Qt-4.7.4/bin/qmake
證明 Qt 環境變量已經被配置成功。
編者按 :
Linux 啟動時,先讀取用戶環境變量,即 /home/defonds/.bashrc 的設置。次讀取所有用戶環境變量,即 /etc/profile 中的配置。
開始 Qt
寫個簡單的 Qt 程序使用安裝的 Qt 編譯來測試一下它的工作效果
新建一個文件名為 hello.cpp,其內容如下:
#include <QApplication>
#include <QLabel>
int main( int argc, char *argv[])
{
QApplication app(argc,argv);
QLabel *label = new QLabel( "Hello Qt!" );
label->show();
return app.exec();
}
|
保存 hello.cpp,編譯過程如下: 在 hello.cpp 所在目錄下,運行命令 qmake -project hello.cpp 同目錄下有 hello.pro 文件被生成,它是與平臺無關的工程文件。 在 hello.cpp 所在目錄下,運行命令 qmake hello.pro 同目錄下有 Makefile 文件被生成(Makefile是指導編譯器編譯源代碼的配置文件,在其目錄下輸入make命令(nmake在win32,vc6環境)就可以完成編譯)。 在 hello.cpp 所在目錄下,運行命令 make 同目錄下有 hello,hello.o 兩個文件被編譯生成。其中 hello 就是在當前 Linux 系統下使用 Qt 編譯生成的可執行文件了。雙擊運行 hello,“Hello Qt!“ 文本框彈出,OK!做到這一步,證明 Qt 已經完全可以在你的電腦上運作了。還等什么呢,開始你精彩而又愉快的 Qt 開發之旅吧!
本文轉自:http://www.cnblogs.com/libao/archive/2013/03/05/2944934.html
posted on 2013-04-08 17:07
王海光 閱讀(8582)
評論(0) 編輯 收藏 引用 所屬分類:
Linux