在Redhat9文本系統上安裝Qt Embedded 4.4.0
Qt Embedded 直接依賴Framebuffer,無需X-Window。所以要開啟Linux系統的Framebuffer。開啟方法是通過BootLoader向核心傳遞引數:
對於grub,在grub.conf檔案的kernel 命令後面新增 vga=0x311 fb:on 。
對於lilo,在lilo.conf檔案中新增 vga=0x311。
0x311 表示解析度為640*480,16dpp。
編譯安裝
首先下載Qt/E-4.4.0的原始碼,然後解壓在 root 目錄:
cd /root
tar -xvjf qt-embedded-linux-opensource-src-4.4.0.tar.bz2
cd qt-embedded-linux-opensource-src-4.4.0
原始碼中包含了文件、例程。這些會佔用很多空間和編譯時間,如果不需要的話就修改 configure ,把它去掉:
QT_DEFAULT_BUILD_PARTS="libs tools examples demos doc" 改為
QT_DEFAULT_BUILD_PARTS="libs tools"
通過 configure 的選項可以關閉很多不需要的模組,用 ./configure -help 檢視詳情。
針對嵌入式版本,還可以用 -no-feature-<feature> 關閉相應的特性,預設情況下會編譯全部的特性。可用的feature在 src/corelib/global/qfeatures.txt
qconfig-large.h #包含了大多數特性。
qconfig-small.h #關閉了很多特性。
qconfig-minimal.h #最小配置,幾乎關閉了所有特性。
可以手動編輯修改配置。但是各種特性之間的依賴很複雜,所有Qt提供了一個圖形工具 qconfig 來幫助生成配置。這個工具需要編譯,安裝Qt/E後再介紹。
執行:
./configure -prefix /usr/qt -release -no-largefile -no-qt3support -no-xmlpatterns -no-phonon -no-svg -no-webkit -no-mmx -no-3dnow -no-sse -no-sse2 -no-gif -no-libtiff -no-libmng -qt-libpng -qt-libjpeg -no-openssl -no-nis -no-cups -no-iconv -no-opengl -no-dbus -qt-freetype -depths 16 -embedded x86 -qt-decoration-default -qt-gfx-linuxfb -qt-kbd-tty -qt-kbd-usb -qt-mouse-pc -qt-mouse-bus -no-glib -qconfig src/corelib/global/qconfig-small.h
make
make install
編譯工程需要幾個小時,所有檔案都會被安裝到 /usr/qt/ 目錄下。現在配置環境變數:
在 /etc/profile 檔案中新增:
PATH=$PATH:/usr/qt/bin
在 /etc/ld.so.conf 檔案中新增:
/usr/qt/lib
然後執行 ldconf -v
重啟系統後,Qt/E 就可以使用了。
測試
//demo.cpp
#include <QApplication>
#include <QPushButton>
#include <QFont>
#include <QTextCodec>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec *codec = QTextCodec::codecForName("GB18030");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
QPushButton hello("Hello 世界!");
hello.show();
return app.exec();
}
編譯:
qmake -project
qmake
make
編譯生成了 demo 程式,執行:
./demo -qws -fn wenquanyi
用qconfig工具配置qconfig-local.h檔案
進入qconfig的原始碼目錄編譯生成 qconfig :
cd tools/qconfig/
qmake
make
執行qconfig:
./qconfig -qws
首次開啟時可能出現如下介面,需要匯入 feature.txt 檔案:
選擇 src/corelib/global/feature.txt 檔案,然後點選 Open ,就會匯入所有可配置的特性:
在左側的樹狀列表中選擇需要編譯的特性,然後通過 File 選單的 Save As 儲存為qconfig-local.h檔案即可。
也可以通過 File -> Open 開啟已有的配置檔案,例如 qconfig-small.h,進行修改。