Qt5.12.0 交叉编译搭建
一、环境
ubuntu版本:16.04
qt版本5.12
arm开发板:全志H5,RK3399
说明:在ubuntu下进行编译,将编译好的so,拷贝到arm下
二、步骤
1.获取QT源码,以及arm64位的交叉编译器
wget http://download.qt.io/archive/qt/5.12/5.12.0/single/qt-everywhere-src-5.12.0.tar.xz
交叉编译器:
链接:https://pan.baidu.com/s/11mpoZZJQtrzw9LlgT4Qt0g 提取码:otrc
2.解压以及配置
将QT源码以及交叉编译器 解压,在QT源码里修改 qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf 文件
QMAKE_CC = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc QMAKE_CXX = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ QMAKE_LINK = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ QMAKE_LINK_SHLIB = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ # modifications to linux.conf QMAKE_AR = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar cqs QMAKE_OBJCOPY = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objcopy QMAKE_NM = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-nm -P QMAKE_STRIP = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip
回到qt-everywhere-src-5.12.0目录,继续配置,输入以下命令
./configure -recheck-all -release -extprefix /opt/aarch64_qt5.12.0 -xplatform linux-aarch64-gnu-g++ -no-opengl -no-openssl -nomake tests -no-compile-examples -nomake examples -gif -ico -qt-libpng -qt-libjpeg -qt-sqlite
会弹出提示,输入o回车再输入y
3.编译
make -j32 2>&1 | tee build.log
4.安装
sudo make install
5.测试
将生成的/opt/aarch64_qt5.12.0 目录拷贝到arm开发板上,并修改环境变量;将编译出来qmake配置到ubuntu上的qt creator上,能编译出arm格式的可执行文件。
将可执行文件拷贝到arm下执行
ok以上操作都很顺利的完成