10_QT系統移植之在開發板上部署QT執行環境

爱吃冰激凌的黄某某發表於2024-04-17

QT系統移植之在開發板上部署QT執行環境

一.開始部署

1.我們在Ubuntu新建立一個資料夾,然後把我們用busybox做好的檔案系統複製到這個檔案下。如下圖所示:

img

2.然後我們解壓這個根檔案系統到當前所在的路徑下。

img

3.我們在這個解壓出來的根檔案系統下新建立一個opt的資料夾,如下圖所示:

img

4.我們把上節課編譯好的觸控和QT複製到我們在這個路徑下新建立的opt目錄下,如下圖所示:

img

5.我們返回到解壓根檔案系統的目錄下

img

6.然後我們開啟根檔案系統的etc/profile檔案,並新增一下內容:

img

新增以下內容:

EVENT=$(cat /proc/bus/input/devices | grep -E 'TSC2007|ft5x0x_ts|goodix-ts' -A4 | tail -n1 | awk '{print $NF}')


export TSLIB_ROOT=/opt/tslib1.4
export TSLIB_TSDEVICE=/dev/input/$EVENT
export TSLIB_CONFFILE=/opt/tslib1.4/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_PLUGINDIR=/opt/tslib1.4/lib/ts
export TSLIB_CONSOLEDEVICE=none


export QT_ROOT=/opt/qt5.7.0
export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0

export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:$QT_ROOT/lib:$TSLIB_ROOT/lib/

解釋:

自動獲取觸控的裝置節點,變數EVENT的值可能是event0,event2.......等。

EVENT=$(cat /proc/bus/input/devices | grep -E 'TSC2007|ft5x0x_ts|goodix-ts' -A4 | tail -n1 | awk '{print $NF}')

觸控庫所在的位置

export TSLIB_ROOT=/opt/tslib1.4

觸控式螢幕裝置檔案

export TSLIB_TSDEVICE=/dev/input/$EVENT

tslib模組配置檔案

export TSLIB_CONFFILE=/opt/tslib1.4/etc/ts.conf

指定觸控式螢幕校準檔案pintercal的存放位置

export TSLIB_CALIBFILE=/etc/pointercal

設定控制檯裝置為 none ,否則預設為 /dev/tty ,這樣可以避免出現“ open consoledevice: No such file or directory KDSETMODE: Bad file descriptor ” 的錯誤

export TSLIB_CONSOLEDEVICE=none

qt庫所在的路徑

export QT_ROOT=/opt/qt5.7.0

qt字型檔的目錄

export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts

qt外掛的目錄

export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins

指定幀緩衝裝置/dev/fb0

export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0

新增QT和觸控庫的環境變數

export LD_LIBRARY_PATH= /lib:/usr/lib:/usr/local/lib:$QT_ROOT/lib:$TSLIB_ROOT/lib/

7.把影片所在目錄下的字型檔檔案複製到根檔案系統的qt庫的/lib/fonts下,沒有這個路徑手動建立一個路徑,如下圖所示:

img

8.然後我們回到根檔案系統的lib目錄下,將影片目錄下的libstdc.tar.gz複製到lib解壓,並輸入命令:

ln -s libstdc++.so.6.0.19 libstdc++.so.6

如下圖所示:

img

9.然後我們把影片目錄下的測試歷程複製到根檔案系統的opt目錄下,並改成777許可權,如下圖所示:

img

10.然後我們打包這個檔案系統,並燒寫到開發板上測試。如下圖所示:

img

測試:觸控不準

在profile檔案下新增環境變數。

export QT_QPA_FB_TSLIB=1

相關文章