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 參數指定一個配置文件,在 src/corelib/global/ 目錄下有幾個典型的配置文件:
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/ 目錄下。www.linuxidc.com 現在配置環境變量:
在 /etc/profile 文件中添加:
PATH=$PATH:/usr/qt/bin
在 /etc/ld.so.conf 文件中添加:
/usr/qt/lib
然後執行 ldconf -v
重啟系統後,Qt/E 就可以使用了。
測試