上一章介紹了宿主機上的qt4環境搭建
這章介紹下位機即開發板的qt4環境搭建
二,下位機qt/E4環境搭建移植
分三步:準備工作、編譯安裝、qt/E4移植到開發板
1、準備工作
# sudo apt-get install automake
# sudo apt-get install libtool
# tar -xvf tslib-1.4.tar.bz2
# cd ./tslib
#./ autogen-clean.sh
#./autogen.sh
#make install
執行以下命令:
# cd /usr/local/arm/tslib
# cp -ar lib/* /home/forlinx/work/rootfs-mini/usr/lib
# cp -ar bin/* /home/forlinx/work/rootfs-mini/usr/bin
# vi etc/ts.conf 去掉 module_raw input 前註釋符#,一定要注意中間的空格也去掉,module 頂格
# cp -ar etc/* /home/forlinx/work/rootfs-mini/etc
# vi etc/profile #添加以下環境變量
export TSLIB_TSDEVICE=/dev/input/touchscreen0
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export POINTERCAL_FILE=/etc/pointercal
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
TSLIB_CONFFILE
//配置文件名
TSLIB_PLUGINDIR
//插件目錄
POINTERCAL_FILE:
//指定包含用於校準指針設備的數據的文件
TSLIB_TSDEVICE
//觸摸屏設備文件名
TSLIB_CALIBFILE
//校準的數據文件,由 ts_calibrate 校準程序生成
TSLIB_CONSOLEDEVICE
//控制檯設備文件名
TSLIB_FBDEVICE
//設備名
以上環境變量在實際開發中的實際配置可以根據實際情況決定。而這些指定的設備節點一定要和你的開發
板上的/dev 目錄下的設備節點相對應。
# ts_calibrate 對電阻屏進行觸摸較驗
# ts_test 對電阻屏進行觸摸測試
2、編譯安裝
-prefix /usr/local/arm/qt4.8.5\
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-depths 16,18,24,32 \
-fast \
-optimized-qmake \
-little-endian -host-little-endian \
-pch \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
-qt-libpng \
-qt-libmng \
-qt-libtiff \
-qt-freetype \
-webkit \
-no-openssl \
-no-glib \
-no-qt3support \
-no-libtiff -no-libmng \
-no-opengl \
-no-mmx -no-sse -no-sse2 \
-no-3dnow \
-no-qvfb \
-no-phonon \
-no-nis \
-no-opengl \
-no-cups \
-no-separate-debug-info \
-nomake docs \
-qt-mouse-tslib \
-qt-mouse-linuxinput \
-qt-kbd-linuxinput \
-I/usr/local/arm/tslib/include \
-L/usr/local/arm/tslib/lib
/usr/local/arm/qt4.8.5/
# cp
-ar
lib/libQt* lib/fonts/
/home/forlinx/work/rootfs-mini/forlinx/qt/lib
# cp
-ar
demos/embeddeddialogs/embeddeddialogs /home/forlinx/work/rootfs-mini/forlinx/qt/bin
# vi etc/profile #添加以下環境變量
export QTDIR=/forlinx/qt
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
export QWS_SIZE=800x480
export QWS_DISPLAY=LinuxFb:/dev/fb0
export QWS_MOUSE_PROTO=Tslib:/dev/input/touchscreen0
< Qt 環境變量說明:
LD_LIBRARY_PATH:指定 qt 的共享庫具體路徑
QT_QWS_FONTDIR:指定 qt 的 font 具體路徑
QWS_SIZE:設定在屏幕尺寸
QWS_DISPLAY:指定的顯示類型和幀緩衝區
QWS_MOUSE_PROTO:指定觸摸設備
以上環境變量在實際開發中的實際配置可以根據實際情況決定。而這些指定的設備節點一定要和你的開發
板上的/dev 目錄下的設備節點相對應。
# cd /forlinx/qt/bin
# ./embeddeddialogs -qws&
3、qt creator 上QT/E構建和運行的設置和上一章的qt4的設置類似
warning: libts-0.0.so.0, needed by , not found (try using -rpath or -rpath-link)
undefined reference to `ts_read_raw'
undefined reference to `ts_open'
undefined reference to `ts_fd'
undefined reference to `ts_config'
undefined reference to `ts_close'
undefined reference to `ts_read'
collect2: ld returned 1 exit status
解決方法如下:
修改 qt-everywhere-opensource-src-4.8.5/mkspecs/qws/linux-arm-g++/qmake.conf 文件(添加 lts 參數),也可以直接添加arm-linux-g++的絕對路徑(如QMAKE CC=/usr/local/arm/.../arm-linux-gcc):
QMAKE_CC = arm-linux-gcc -lts
QMAKE_CXX = arm-linux-g++ -lts
QMAKE_LINK_SHLIB = arm-linux-g++ -lts