下载Qt 5.12源码
wget https://download.qt.io/archive/qt/5.12/5.12.12/single/qt-everywhere-src-5.12.12.tar.xz
tar xvf qt-everywhere-src-5.12.12.tar.xz
cd qt-everywhere-src-5.12.12
如果出现如下提示:
这是因为国内无法下载的,请想法墙外下载。
配置Qt交叉编译环境
创建build目录
mkdir build && cd build
修改mkspec文件
nano /opt/qt-everywhere-src-5.12.12/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
修改mkspec文件中关键配置:
# modifications to g++.conf
# 原内容
#QMAKE_CC = arm-linux-gnueabi-gcc
#QMAKE_CXX = arm-linux-gnueabi-g++
#QMAKE_LINK = arm-linux-gnueabi-g++
#QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++
# modifications to linux.conf
# 原内容
#QMAKE_AR = arm-linux-gnueabi-ar cqs
#QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy
#QMAKE_NM = arm-linux-gnueabi-nm -P
#QMAKE_STRIP = arm-linux-gnueabi-strip
# 改为你的
QMAKE_CC = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-gcc
QMAKE_CXX = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-g++
QMAKE_LINK = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-g++
QMAKE_AR = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-objcopy
QMAKE_NM = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-nm -P
QMAKE_STRIP = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-strip
执行如下配置指令:
../configure -prefix /opt/qt5.12-armv7-rpi2 -xplatform linux-arm-gnueabi-g++ -sysroot /home/user/x-tools/armv7-rpi2-linux-gnueabihf/armv7-rpi2-linux-gnueabihf/sysroot -device-option CROSS_COMPILE=/home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf- -no-opengl -opensource -confirm-license -extprefix /opt/qt5.12-armv7-rpi2-host
执行编译、安装指令:
make -j$(nproc) && sudo -E make install
完成后,执行如下指令:
/opt/qt5.12-armv7-rpi2-host/bin/qmake --version
- 可看到如下返回,则证明安装成功。
-
QMake version 3.1 Using Qt version 5.12.12 in /opt/qt5.12-armv7-rpi2-host/lib