QT4 的移植總結

2021-06-02 02:13:11 字數 4518 閱讀 1696

**:

這段時間把qt4移植到了mini2440的開發板上,同時做了一些應用的開發,特總結一下。

首先要弄清楚一些概念:

1.什麼是qt?

qt 是乙個跨平台應用程式框架。通過使用 qt,您可以一次性開發應用程式和使用者介面,然後將其部署到多個桌面和嵌入式作業系統,而無需重複編寫源**。qt 軟體前身為 trolltech (奇趣科技),2023年6月被諾基亞收購。

2.qt的版本和分類?

qt 的版本是按照不同的圖形系統來劃分的,目前分為四個版本:

win32版,適用於windows平台;

x11版,適合於使用了x系統的各種 linux 和 unix的平台;

mac版,適合與蘋果macos;

embedded版,適合於具有幀緩衝(frame buffer)的linux 的平台

3.qtopia和qt的關係?

qt palmtop environment,是構建於qt/e之上乙個類似桌面系統的應用環境,包括了pda和手機等掌上系統常見的功能如**簿、日程表等。

qtopai後來改名為qt extended,2023年3月3日,nokia決定停止qt extended的後續開發,轉而全心投入qt的產品開發,並逐步會將一部分qtextended的功能移植到qt開發框架中。

qt-4.5.3的編譯與移植:

1.首先編譯安裝觸控螢幕驅動庫tslib-1.4

1./autogen.sh

2./configure --prefix=/usr/local/qte-arm/tslib-1.4 --host=arm-linux ac_cv_func_malloc_0_nonnull=yes

3make

4sudo make install

這樣就可以在/usr/local/qte-arm/tslib-1.4目錄下看到相關的應用程式、共享庫、配置檔案等,這些庫和配置檔案都是要拷到arm板的根檔案系統中的。

2.編譯qt-embedded-linux-opensource-src-4.5.3

01./configure -prefix /usr/local/qte-arm \

02-no-qt3support \

03-qt-zlib \

04-qt-libtiff \

05-qt-libpng \

06-qt-libmng \

07-qt-libjpeg \

08-make libs \

09-nomake examples \(不編譯例子程式和文件)

10-nomake demos \

11-nomake docs \

12-no-nis \

13-no-cups \

14-no-iconv \

15-xplatform qws/linux-arm-g++ \

16-embedded arm \

17-little-endian \

18-qt-freetype \

19-depths 8,16,24,32 \

20-qt-gfx-linuxfb \

21-no-gfx-transformed \

22-no-gfx-qvfb \

23-no-gfx-vnc \

24-no-gfx-multiscreen \

25-qt-kbd-usb \

26-qt-kbd-tty \

27-qt-mouse-pc \

28-no-glib \

29-qt-mouse-tslib -i/usr/local/qte-arm/tslib/build/include -l/usr/local/qte-arm/tslib/build/lib

編譯選項-qt-mouse-tslib需要用到觸控螢幕功能的動態庫,所以得把之前編譯安裝的tslib庫包含進來。

make

make install

這樣qt/e的編譯工作完成,主要是得到了qt程式在arm板上執行所需要的庫檔案,以及用於arm平台的qmake,moc,uic等工具。

3.拷貝相關檔案到arm根檔案系統

拷貝/usr/local/qte-arm/tslib整個目錄到arm板根檔案系統root_nfs/下;

拷貝/usr/local/qte-arm/lib/下所有庫檔案到root_nfs/opt/qt/lib目錄下,你可能不需要全部的庫檔案,可根據需要選擇;

4.設定環境變數和配置檔案

首先設定tslib的配置檔案  gedit root_nfs/tslib/build/etc/ts.conf

1module_raw input

2module pthres pmin=1

3module variance delta=30

4module dejitter delta=100

5module linear

然後設定qt及tslib的環境變數: gedit root_nfs/etc/profile

在最後加入:

01export qtdir=/opt/qt

02export t_root=/tslib/build

03export path=$t_root/bin:$path

04export ld_library_path=$t_root/lib:$qtdir/lib

05export tslib_consoledevice=none

06export tslib_fbdevice=/dev/fb0

07export tslib_tsdevice=/dev/input/event0

08export tslib_plugindir=$t_root/lib/ts

09export tslib_conffile=$t_root/etc/ts.conf

10export tslib_calibfile=/etc/pointercal

11export qws_keyboard=usb:/dev/input/event1

12export qws_mouse_proto=tslib:/dev/input/event0

13export qws_display=linuxfb:mmwidth45:mmheight60:0

14export qws_size=240x320

重啟開發板,移植完成!

注意,在開發板上執行qt程式要加-qws 選項,從而讓程式以server模式執行。

QT4 的移植總結

這段時間把qt4移植到了mini2440的開發板上,同時做了一些應用的開發,特總結一下。首先要弄清楚一些概念 1.什麼是qt?qt 是乙個跨平台應用程式框架。通過使用 qt,您可以一次性開發應用程式和使用者介面,然後將其部署到多個桌面和嵌入式作業系統,而無需重複編寫源 qt 軟體前身為 trollt...

Qt4開發總結

對qt的認識和開發還只是剛剛起步,但作乙個階段學習的總結還是很必要的。c gui programming with qt 4,second edition,這裡講了qt程式的寫法,以及各個類的應用。inside qt series 深入介紹了qt的實現機制 1.qt的事件處理機制 事件起源 qt的s...

交叉編譯Qt4

1.編譯tslib 1.4 ubuntu編譯tslib 1.4出錯 autogen.sh 4 autoreconf not found 因為沒有安裝automake 工具,ubuntu 10.04 用下面的命令安裝好就可以了。sudo apt get install autoconf automak...