這段時間把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
2
3
4
./autogen.sh
./configure --prefix=/usr/local/qte-arm/tslib-1.4 --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
make
sudo make install
這樣就可以在/usr/local/qte-arm/tslib-1.4目錄下看到相關的應用程式、共享庫、配置檔案等,這些庫和配置檔案都是要拷到arm板的根檔案系統中的。
2.編譯qt-embedded-linux-opensource-src-4.5.3?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
./configure -prefix /usr/local/qte-arm \
-no-qt3support \
-qt-zlib \
-qt-libtiff \
-qt-libpng \
-qt-libmng \
-qt-libjpeg \
-make libs \
-nomake examples \(不編譯例子程式和文件)
-nomake demos \
-nomake docs \
-no-nis \
-no-cups \
-no-iconv \
-xplatform qws/linux-arm-g++ \
-embedded arm \
-little-endian \
-qt-freetype \
-depths 8,16,24,32 \
-qt-gfx-linuxfb \
-no-gfx-transformed \
-no-gfx-qvfb \
-no-gfx-vnc \
-no-gfx-multiscreen \
-qt-kbd-usb \
-qt-kbd-tty \
-qt-mouse-pc \
-no-glib \
-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?
1
2
3
4
5
module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
然後設定qt及tslib的環境變數: gedit root_nfs/etc/profile
在最後加入:?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
export qtdir=/opt/qt
export t_root=/tslib/build
export path=$t_root/bin:$path
export ld_library_path=$t_root/lib:$qtdir/lib
export tslib_consoledevice=none
export tslib_fbdevice=/dev/fb0
export tslib_tsdevice=/dev/input/event0
export tslib_plugindir=$t_root/lib/ts
export tslib_conffile=$t_root/etc/ts.conf
export tslib_calibfile=/etc/pointercal
export qws_keyboard=usb:/dev/input/event1
export qws_mouse_proto=tslib:/dev/input/event0
export qws_display=linuxfb:mmwidth45:mmheight60:0
export 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...