话不多说直接开干,首先需要下载源码包,进入网址https://download.qt.io/archive/qt/
进行下载对应的版本即可,比如我这里下载5.12.12
版本的,如下图找到即可。
然后把下载的包放到服务器上进行解压tar xpf qt-everywhere-src-5.12.12.tar.xz
,然后进入源码根目录cd qt-everywhere-src-5.12.12/
,创建一个脚本文件去配置qt,比如我这里是test.sh
,加入如下内容
#!/bin/sh
./configure -prefix /root/test/xxx \ //这里指定你的安装目录
-opensource \
-debug \
-confirm-license \
-xplatform linux-aarch64-gnu-g++ \ //这里根据arm还是arm64选择对应的文件 qtbase/mkspecs/linux-aarch64-gnu-g++
-no-opengl \
-no-pch \
-shared \
-no-iconv \
-no-xcb \
最后记得修改test.sh
的权限,使用chmod 777 test.sh
即可修改,然后./test.sh
执行脚本即可,等待一段时间后出现如下图的结果,说明成功
然后看上图的提示,直接make
和make isntall
即可,所以我们直接执行make -j16 && make install
即可。然后就是等待编译的过程,时间可能会有点久。出现如下截图即可算编译成功
然后我们可以进入安装目录查看编译生成的文件
其中bin为一些可执行文件,example
为一些示例文件,我们准备好lib,plugins,qml,等文件即可。在/etc/profile
中添加如下内容即可。
export QT_ROOT=/opt/5_9_9
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_FONTDIR=$QT_ROOT/fonts
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_PLUGIN_PATH=$QT_ROOT/plugins
export LD_LIBRARY_PATH=$QT_ROOT/lib:$QT_ROOT/plugins/platforms
export QML2_IMPORT_PATH=$QT_ROOT/qml
我是将所有需要用到的放到/opt/5_12_12
下,其中不要忘记添加字库文件,在install目录中查找.ttf文件使用即可。
在使用的时候会发现还确实某些模块包,现在就描述下怎么使用源码包编译出我们板子上能用的库文件。进入如下地址进行源码的下载https://download.qt.io/archive/qt/5.12/
,我这里以5.12.8为例。进入如下图界面,
我需要的文件如下图所示。
下载即可。然后进行解压缩。然后进入源码后,使用我们之前交叉编译好的qmake文件进行qmake即可。/opt/qt_lib/bin/qmake,执行结果如下图。
执行会多出一个Makefile
文件,此时进行make
即可。然后执行make install
会将所有库文件自从拷贝到上文的/opt/qt_lib/lib
目录中。然后复制你想要的文件到开发板即可。