標籤:
作業系統:Ubuntu12.04
搭建環境:Qt4.5.3開發環境--編譯庫檔案和qmake工具
①到http://download.qt.io/archive/qt/4.5/網站下載編譯源檔案,然後放到Ubuntu系統裡進行解壓:
tar –xzvf qt-x11-opensource-src-4.5.3.tar.gz
tar –xzvf qt-embedded-linux-opensource-src-4.5.3.tar.gz
這兩個源碼包的作用:QT-X11-4.5.3是運行於linux平台下用於模擬QT應用程式的軟體,這樣你便可以在linux平台
下把你應用程式都調試好,然後再利用QT4.5.3把應用程式編譯成ARM版本下載至開發板,這樣你就可以在開發板上運
行你的QT應用程式了。
網上有些資料一說到編譯QT開發環境就羅列qt-x11、qt-embedded...x86、 qt-embedded-linux-opensource-src-4.5.3-arm這三個一來弄得我頭暈啊,究竟幹嘛用,這麼麻煩。結果查啊查,原來,顧名思義:
qt-x11版:在PC機上啟動並執行QT庫源碼--主要開發時用於類比開發平台,這樣就可以不用開發板也能玩
qt-embedded-x86版:x86體系的嵌入式板子上啟動並執行QT庫源碼
qt-embedded-arm:arm板子上啟動並執行QT庫源碼
這樣一說就一目瞭然啦,讓讀者一看就知道我需要編譯哪些源碼包。接下來是記錄關於編譯qt-x11和qt-embedded-arm庫的過程。
②編譯安裝qt-x11 -- 成功
接著上面的解壓步驟,依次執行下面指令:
cd qt-x11-opensource-src-4.5.3
./configure //這個設定檔會指定預設安裝路徑/usr/local/Trolltech/Qt-4.5.3到Makefile檔案,可以開啟來看看“prefix”配置項
make //這個編譯有點久,我編譯了1小時過20分鐘。make時使用的編譯器是源碼包裡有的,據說從Qt3.0開始就不用再自己去另外編譯編譯器,以前版本是要編譯什麼tmake的
make install //如果要卸載就:make uninstall
如此qt-x11編譯產生的庫和編譯時間用到的qmake工具被安裝到此目錄下/usr/local/Trolltech/Qt-4.5.3
【
附1:qmake這玩意是用來產生平台相關的Makefile檔案的
附2:configure檔案的配置選項通常有“-prefix”--指定安裝路徑,通常是可執行檔的、庫檔案的安裝路徑
例如:./configure -prefix /dir1/dir2/xxx
通過“./configure --help”指令來查看用法:
Usage: configure [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
...
...
慢慢看意會意會^_^
】
③安裝qvfb工具
qt-x11-opensource-src-4.5.3中間就有qvfb的原碼包,下面就選擇qt-x11-opensource-src-4.5.3,內建的工具編譯產生該qvfb工具。
準備工作:
複製deviceskin.h,deviceskin.cpp到qvfb檔案下,首先進行尋找:
[email protected]:~/qt4.5.3/qt-x11-opensource-src-4.5.3/tools#
find / -name "*deviceskin.h*"
/home/clbiao/qt4.5.3/qt-x11-opensource-src-4.5.3/tools/shared/deviceskin/deviceskin.h
/home/clbiao/qt4.5.3/qt-embedded-linux-opensource-src-4.5.3-arm/tools/shared/deviceskin/deviceskin.h
/home/clbiao/qt4.5.3/qt-embedded-linux-opensource-src-4.5.3-x86/tools/shared/deviceskin/deviceskin.h
[email protected]:~/qt4.5.3/qt-x11-opensource-src-4.5.3/tools#
[email protected]:~/qt4.5.3/qt-x11-opensource-src-4.5.3/tools#
find / -name "*deviceskin.cpp*"
/home/clbiao/qt4.5.3/qt-x11-opensource-src-4.5.3/tools/designer/src/lib/.moc/release-shared/moc_deviceskin.cpp
/home/clbiao/qt4.5.3/qt-x11-opensource-src-4.5.3/tools/shared/deviceskin/deviceskin.cpp
/home/clbiao/qt4.5.3/qt-embedded-linux-opensource-src-4.5.3-arm/tools/shared/deviceskin/deviceskin.cpp
/home/clbiao/qt4.5.3/qt-embedded-linux-opensource-src-4.5.3-x86/tools/shared/deviceskin/deviceskin.cpp
[email protected]:~/qt4.5.3/qt-x11-opensource-src-4.5.3/tools#
cp ../../qt-embedded-linux-opensource-src-4.5.3-arm/tools/shared/deviceskin/deviceskin.h ./qvfb/
[email protected]:~/qt4.5.3/qt-x11-opensource-src-4.5.3/tools#
cp ../../qt-embedded-linux-opensource-src-4.5.3-arm/tools/shared/deviceskin/deviceskin.pp ./qvfb/
繼續:
cd qvfb
編著編著突然想到既然第一步x11都編譯出來了,而且編譯安裝目錄下面還有demo和example,為毛不先進去看看能不能運行呢?!
那就去試試咯!
cd /usr/local/Trolltech/Qt-4.5.3/demos/mainwindow
./mainwindow
幹!果然可以運行,有視窗跳出來,如此炫酷!
果斷不再按照網上的搜集的方法來編譯。這qvfb哪來的呢?不會ubuntu12.04內建的?!不是。因為看到開啟視窗在側邊欄的表徵圖是綠色的Q,難道?!沒錯就是安裝QtCreater時安裝上的。忘了說,編譯這些Qt庫之前我去了Ubuntu的軟體中心直接下載安裝了QtCreator Version2.4.1
qvfb——Qt的虛擬緩衝幀,嵌入式的開發有了qvfb,就可以不需要實際的開發板,也可以開發Qt應用程
單單編譯完qt-x11就可以得到下面這幾個QT開發工具:可以到編譯安裝目錄下面去看看
designer——Qt介面的設計工具
uic——可以把Qt的介面描述檔案轉化為相應的 .h和.cpp檔案
moc——把Qt的訊號和插槽的定義翻譯為標準的C++文法
④編譯安裝qt-embedded -- 成功
//嵌入式ARM架構版本
cp -rf qt-embedded-linux-opensource-src-4.5.3 qt-embedded-linux-opensource-src-4.5.3-arm //這條指令僅僅是為了複製一份解壓的源檔案
cd qt-embedded-linux-opensource-src-4.5.3-arm
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-arm -embedded arm -lrt -little-endian
make //這個也要編譯好久好久,到安裝完1個小時40分鐘
make install
【
配置選項分析:
-prefix/usr/local/Trolltech/QtEmbedded-4.5.0-arm //指定安裝路徑
-embedded arm //指定平台
-little-endian //指定為小端儲存
-lrt //沒有指定會
附:編譯嵌入式X86架構版本的Qt庫
mv qt-embedded-linux-opensource-src-4.5.3 qt-embedded-linux-opensource-src-4.5.3-x86
cd qt-embedded-linux-opensource-src-4.5.3-x86
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.3-x86 -embedded x86 -qvfb
make
make install
】
搞定^_^
上面編譯的2個庫和工具加起來有1.8G,不是一般的大!
下一篇博文會記錄使用這些編譯庫檔案和qmake等工具來開發Qt Project
Linux下Qt4.5.3開發環境搭建