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详细过程
- 下载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
会报错。
- 编译(编译时间会很长,可能两三个小时)
make && make install
markdown
Copy code
5.3 搭建开发板运行环境
QT是支持矢量字库的,但是自带的字库里没有中文字库。为了后续方便显示中文,可以将windows目录下的中文字库拷贝到QT的lib目录下。
- 制作开发板一键安装包
创建一个配置文件用于配置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套件。
将其中的编译器修改为系统中的交叉编译器。
图3:Qt版本的选择
选择之前用交叉编译器编译的Qt源码中的qmake。
5.5 开发Qt程序
注意上述流程结束以后,会发现开发出来的Qt程序仍然无法在Qt中运行,因为这是经过交叉编译出来的程序,所以只能在arm上运行。而每次在arm上运行会很麻烦,用于调试很不方便,因此我们将项目移植到windows端的Visual Studio运行。
首先进行UI界面的设计。
图4:UI界面设计