**:
這段時間把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
3
make
4
sudo 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
1
module_raw input
2
module pthres pmin=1
3
module variance delta=30
4
module dejitter delta=100
5
module linear
然後設定qt及tslib的環境變數: gedit root_nfs/etc/profile
在最後加入:
01
export qtdir=/opt/qt
02
export t_root=/tslib/build
03
export path=$t_root/bin:$path
04
export ld_library_path=$t_root/lib:$qtdir/lib
05
export tslib_consoledevice=none
06
export tslib_fbdevice=/dev/fb0
07
export tslib_tsdevice=/dev/input/event0
08
export tslib_plugindir=$t_root/lib/ts
09
export tslib_conffile=$t_root/etc/ts.conf
10
export tslib_calibfile=/etc/pointercal
11
export qws_keyboard=usb:/dev/input/event1
12
export qws_mouse_proto=tslib:/dev/input/event0
13
export qws_display=linuxfb:mmwidth45:mmheight60:0
14
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...