QT在arm上的移植

https://www.codenong.com/cs109531536/

makeQT源码的时候遇到报错看https://bbs.csdn.net/topics/603295202 评论区

修改后:
./configure -prefix $PWD/ARM_QT5.15.1 -release -opensource -make libs -xplatform linux-arm-gnueabi-g++ -optimized-qmake -pch -qt-libjpeg -qt-zlib -no-opengl -skip qt3d -skip qtcanvas3d -skip qtpurchasing -no-sse2 -no-openssl -no-cups -no-glib -no-iconv -nomake examples -nomake tools -skip qtvirtualkeyboard -skip qtlocation

markdown
Copy code

5.1 环境介绍

基于VM运行的虚拟机ubuntu20.04。Qt版本选择5.15.1。开发板Tiny4412。

5.2 移植Qt详细过程

  1. 下载QT5.15.1源码
    http://mirrors.ustc.edu.cn/qtproject/archive/qt-everywhere-src-5.15.1.tar.xz

markdown
Copy code
2. 编译QT源码
tar xvf /home/xyk/arm/qt-everywhere-src-5.12.6.tar.xz

markdown
Copy code
3. 修改QT源码的配置文件
cd qt-everywhere-src-5.15.1/
gedit qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

Copy code
然后在文件中添加这几行代码:
QT_QPA_DEFAULT_PLATFORM = linuxfb #eglfs
QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a

markdown
Copy code
4. 配置QT源码生成makefile
./configure -prefix $PWD/ARM_QT5.15.1 -release -opensource -make libs -xplatform linux-arm-gnueabi-g++ -optimized-qmake -pch -qt-libjpeg -qt-zlib -no-opengl -skip qt3d -skip qtcanvas3d -skip qtpurchasing -no-sse2 -no-openssl -no-cups -no-glib -no-iconv -nomake examples -nomake tools -skip qtvirtualkeyboard -skip qtlocation

markdown
Copy code
注意这个地方要加上-skip qtlocation,否则-no-opengl会报错。

  1. 编译(编译时间会很长,可能两三个小时)
    make && make install

markdown
Copy code

5.3 搭建开发板运行环境

QT是支持矢量字库的,但是自带的字库里没有中文字库。为了后续方便显示中文,可以将windows目录下的中文字库拷贝到QT的lib目录下。

  1. 制作开发板一键安装包
    创建一个配置文件用于配置QT的环境,进入上一步编译好的ARM_QT5.15.1文件夹。
    gedit QT5.15.1_profile

Copy code
在文件中添加以下环境变量配置:
QT 相关的路径
export QTDIR=/work/ARM_QT5.15.1

设置共享库路径
export LD_LIBRARY_PATH= L D L I B R A R Y P A T H : LD_LIBRARY_PATH: LDLIBRARYPATH:QTDIR/lib

键盘
export QT_QPA_ENABLE_TERMINAL_KEYBOARD=/dev/input/event1

鼠标节点
export QT_QPA_FB_HIDECURSOR=/dev/input/event4

触摸屏的节点
export QT_QPA_FB_TSLIB=/dev/input/event1

字体库目录
export QT_QPA_FONTDIR=$QTDIR/lib/fonts

图形插件平台
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0

平台插件
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins

bash
Copy code
注意修改其中的路径。在移植到新的环境后,source一下本文件,即完成环境的配置。

随后将编译安装的源码进行完整的打包。
tar cvf ARM_QT5.15.1.tar ARM_QT5.15.1

Copy code
打包之后放到开发板的环境中即可。

注意:编译QT源码可能会遇到缺少相关库,安装一下即可。

5.4 安装ubuntuPC端的QT软件

http://download.qt.io/archive/qt/进入网站以后找到相应的QT版本,下载.run为后缀的文件名。
进入ubuntu终端运行。
./filename.run
完成软件的安装以后,配置kit套件。
图2:Kit 套件
将其中的编译器修改为系统中的交叉编译器。

Qt版本的选择
图3:Qt版本的选择
选择之前用交叉编译器编译的Qt源码中的qmake。

5.5 开发Qt程序
注意上述流程结束以后,会发现开发出来的Qt程序仍然无法在Qt中运行,因为这是经过交叉编译出来的程序,所以只能在arm上运行。而每次在arm上运行会很麻烦,用于调试很不方便,因此我们将项目移植到windows端的Visual Studio运行。

首先进行UI界面的设计。

图4:UI界面设计

  • 38
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值