1. 程式人生 > >在Redhat9文本系統上安裝Qt Embedded 4.4.0

在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 引數指定一個配置檔案,在 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/ 目錄下。現在配置環境變數:

在 /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,進行修改。