温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何编译ARM版本QT库

发布时间:2021-12-15 11:04:13 来源:亿速云 阅读:864 作者:小新 栏目:互联网科技

小编给大家分享一下如何编译ARM版本QT库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

编译 ARM 版本 QT 库

1.安装交叉编译环境 arm-linux-gcc 并设置好环境变量。

2.编译安装与触屏校对显示相关的库 tslib1.4.tar.gz,具体步骤参考 Mini2440移植qt-extended4.4.3。需要注意的是编译时需要设置编译链采用 arm-linux-g++。通过下列命令来进行指定。

./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程序。同时也需要设置编译链采用 arm-linux-g++。通过下列命令来进行指定。

./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

设置 QTCreater 来交叉编译应用程序

主要是三步:设置 QT 版本(Qt-embeded-arm 库位置)——设置编译器(arm-linux-g++)——设置构建套件

具体步骤参考 Qtcreator配置、交叉编译arm程序

传送文件到 ARM

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

2.切换到需要传送文件所在目录 lcd /home/huang/Desktop/Quantizer4ARM/build-Quantizer-ARM-Debug

3.传送文件 put Quantizer

4.运行 QT 程序 ./Quantizer -qws

触摸屏失效解决

主要想法是使用 FriendlyARM 的启动脚本。修改 /bin/qt4 脚本为下列 AppLauncher.sh,用它来启动应用程序。

#!/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 应用程序。具体步骤参考 Qt在mini2440下的触摸屏失效和库文件找不到问题的解决。

QT 版本问题

在开发板上运行程序出现错误

./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 开发板中的动态链接库是 4.6.3 版本。

将代码改为

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

即可正常工作。

以上是“如何编译ARM版本QT库”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI