溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何編譯ARM版本QT庫

發(fā)布時(shí)間:2021-12-15 11:04:13 來源:億速云 閱讀:883 作者:小新 欄目:互聯(lián)網(wǎng)科技

小編給大家分享一下如何編譯ARM版本QT庫,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

編譯 ARM 版本 QT 庫

1.安裝交叉編譯環(huán)境 arm-linux-gcc 并設(shè)置好環(huán)境變量。

2.編譯安裝與觸屏校對顯示相關(guān)的庫 tslib1.4.tar.gz,具體步驟參考 Mini2440移植qt-extended4.4.3。需要注意的是編譯時(shí)需要設(shè)置編譯鏈采用 arm-linux-g++。通過下列命令來進(jìn)行指定。

./configure--host=arm-linux --cache-file=arm-linux.cache \
PLUGIN_DIR=/usr/local/arm/tslib/plugins  \
-prefix=/usr/local/arm/tslib/build -host=arm-linux --cache-file=arm-linux.cache2>&1 | tee conf_log

3.交叉編譯安裝 qt 庫 qt-everywhere-opensource-src-4.6.4.tar.gz,具體步驟參考 Qtcreator配置、交叉編譯arm程序。同時(shí)也需要設(shè)置編譯鏈采用 arm-linux-g++。通過下列命令來進(jìn)行指定。

./configure -opensource -embedded arm -xplatform qws/linux-arm-g++  
-no-webkit -qt-libtiff -qt-libmng  -qt-mouse-tslib -qt-mouse-pc 
-no-mouse-linuxtp -prefix /opt/Qt4.6.4_forArm 
-I /usr/local/arm/tslib/tslib/include -L /usr/local/arm/tslib/tslib/lib

設(shè)置 QTCreater 來交叉編譯應(yīng)用程序

主要是三步:設(shè)置 QT 版本(Qt-embeded-arm 庫位置)——設(shè)置編譯器(arm-linux-g++)——設(shè)置構(gòu)建套件

具體步驟參考 Qtcreator配置、交叉編譯arm程序

傳送文件到 ARM

1.建立 FTP 連接。ftp 202.201..

2.切換到需要傳送文件所在目錄 lcd /home/huang/Desktop/Quantizer4ARM/build-Quantizer-ARM-Debug

3.傳送文件 put Quantizer

4.運(yùn)行 QT 程序 ./Quantizer -qws

觸摸屏失效解決

主要想法是使用 FriendlyARM 的啟動(dòng)腳本。修改 /bin/qt4 腳本為下列 AppLauncher.sh,用它來啟動(dòng)應(yīng)用程序。

#!/bin/sh
export TSLIB_TSDEVICE=/dev/input/event0 
export TSLIB_CONFFILE=/usr/local/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export LD_LIBRARY_PATH=/
export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/bin
export QWS_DISPLAY=:1
TS_INFO_FILE=/sys/devices/virtual/input/input0/uevent
if [ -e $TS_INFO_FILE -a "/bin/grep -q TouchScreen < $TS_INFO_FILE" ]; then
export QWS_MOUSE_PROTO="Tslib:/dev/input/event0 MouseMan:/dev/input/mice"
if [ ! -s /etc/pointercal ] ; then
rm /etc/pointercal
/usr/local/bin/ts_calibrate
fi
else
export QWS_MOUSE_PROTO="MouseMan:/dev/input/mice"
fi
unset TS_INFO_FILE
export QWS_KEYBOARD=TTY:/dev/tty1
export HOME=/root
cd /usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher
$1 -qws
hotplug

使用 ./AppLauncher.sh ./Quantizer 打開 QT 應(yīng)用程序。具體步驟參考 Qt在mini2440下的觸摸屏失效和庫文件找不到問題的解決。

QT 版本問題

在開發(fā)板上運(yùn)行程序出現(xiàn)錯(cuò)誤

./Quantizer: symbol lookup error: ./Quantizer: undefined symbol: _ZNK6QImage13constScanLineEi

程序讀圖片使用

const uchar *pSrc = (uchar *)image.constScanLine(i)

這是 Qt 4.8 版本中的,PC 上編譯的 QT-embedded-qt 庫是 4.8.6 版本的,而 ARM 開發(fā)板中的動(dòng)態(tài)鏈接庫是 4.6.3 版本。

將代碼改為

uchar *pSrc = (uchar *)image.scanLine(i)

即可正常工作。

以上是“如何編譯ARM版本QT庫”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI