先移植TSLIB
1、安裝前的準備工作:
再root模式下安裝下面軟體。
# apt-get install autoconf# apt-get install automake# apt-get install libtool
2、下載下傳tslib源碼
3、配置
# ./autogen-clean.sh# ./autogen.sh# echo "ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache# ./configure --host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache --enable-inputapi=no --prefix=/opt/qt/juan/tslib
其中prefix下面配置的是你的安裝路徑
./autogen.sh 時,所出現一下提示:
解決方法:
添加紅框内的語句。
4、編譯
在終端裡以root使用者的身份進入tslib目錄裡面
執行make
執行make install
5.修改con内容
vi /opt/qt/juan/tslib/etc/ts.conf
将配置檔案改為
module_raw inputmodule pthres pmin=1module variance delta=30module dejitter delta=100module linear
6.移動到開發闆
将安裝路徑下的整個tslib檔案夾,下載下傳至開發闆的上.
8、 設定開發闆環境變量
通過超級終端, 打開環境變量檔案/etc/profile
vi /etc/profile
添加如下内容:
export TSLIB_ROOT=/opt/sendinfo/tslib export TSLIB_TSDEVICE=/dev/input/event0 export QWS_MOUSE_PROTO=tslib:/dev/input/event0 export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_CONSOLEDEVICE=none export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
其中,TSLIB_ROOT更換為自己實際存放的路徑;
另外,TSLIB_TSDEVICE 和QWS_MOUSE_PROTO這兩項需要檢視自己的闆子的觸摸屏裝置對應/dev/input/下哪個檔案
9.測試
小問題彙總:
1.測試時發現輸出的x,y軸的值相等
原因:發現是linux核心驅動不支援觸摸屏硬體。
解決方法:在核心驅動的USB裝置裡添加觸摸屏裝置
再在核心目錄下運作make menuconfig選擇要配置的裝置。
運作make uImage
2.ts_open: No such file or directory
原因:裝置路徑配置錯誤
解決方法:
1.檢視裝置是event幾
cd /dev/ls
2.打開配置 vi /etc/profile
export TSLIB_TSDEVICE=/dev/input/event0
3.Couldnt open tslib config file: No such file or directory ts_config: Illegal seek
解決辦法:#export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
再移植QT5.9
1.官網下載下傳源碼包 qt-everywhere-opensource-src-5.9.5.tar.xz
2.解壓
3.進入root模式,配置交叉編譯器的路徑,輸入(arm + Tab鍵)看是否有交叉編譯器顯示
4.修改qmake.conf配置
cd qt-everywhere-opensource-src-5.9.5
vi qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
5.根據需求添加配置
./configure \ -v \ -prefix /opt/sendinfo \ -sysroot /opt/chain/arm-2014.05/arm-none-linux-gnueabi \ -release \ -static \ -make libs \ -xplatform arm-linux-gnueabi-g++ \ -optimized-qmake \ -pch \ -qt-zlib \ -no-opengl \ -no-sse2 \ -no-openssl \ -no-cups \ -no-separate-debug-info \ -nomake examples -nomake tools \-tslib \-I/opt/wlj/tslib-transplant/juan/tslib/include \-L/opt/wlj/tslib-transplant/juan/tslib/lib
static為靜态庫,若要使用電容觸摸屏需要添加最後三行。
configure指令執行完畢後會出現如下界面,檢視自己選擇的需要編譯的功能。
6.make&&make install 此過程需要大約兩個小時
7.将編譯安裝得到的lib、plugins拷貝到開發闆中,lib中存放的是QT程式運作所需的動态庫檔案,plugins中存放的應該是所需的插件。
8.配置開發環境并運作程式。vi /etc/profile
#export LD_LIBRARY_PATH=/lib export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0 export QT_QPA_FONTDIR=/lib/fonts export LD_PRELOAD=/system/lib/preloadable_libiconv.so export PATH=/opt/wlj/Qt5.9/bin:$PATH export TSLIB_ROOT=/opt/wlj/tslibexport TSLIB_TSDEVICE=/dev/event10export QWS_MOUSE_PROTO=tslib:/dev/event10export TSLIB_CALIBFILE=/etc/pointercalexport TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.confexport TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/tsexport TSLIB_FBDEVICE=/dev/fb0export TSLIB_CONSOLEDEVICE=noneexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/libexport QT_QPA_GENERIC_PLUGINS=tslib:/dev/event10export LD_LIBRARY_PATH=/opt/wlj/Qt5.9/libexport QT_QPA_PLATFORM_PLUGIN_PATH=/opt/wlj/Qt5.9/plugins#export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0#export QT_QPA_FONTDIR=opt/wlj/lib/fontsexport QT_PLUGIN_PATH=$QT_ROOT/plugins/export QT_ROOT=/opt/wlj/Qt5.9export LD_PRELOAD=$TSLIB_ROOT/lib/libts.so export QT_QPA_GENERIC_PLUGINS=evdevmouse:/dev/event1
注意:export LD_PRELOAD=$TSLIB_ROOT/lib/libts.so 特别重要
export QT_QPA_GENERIC_PLUGINS=evdevmouse:/dev/event1 滑鼠