交叉编译QT5.14.2源码

  1. 环境
    操作系统:ubuntu16.04
    交叉编译工具版本:gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu

  2. 文件下载地址并将其放在虚拟机下
    https://download.qt.io/archive/qt/5.14/5.14.2/single/
    https://developer.arm.com/downloads/-/gnu-a

  3. . 安装交叉编译器
    解压文件

sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar -C /opt/

解压完成后,配置环境变量

sudo gedit ~/.bashrc

在文件底部添加编译器路径

PATH=$PATH:/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/bin

保存更改,使配置生效

source ~/.bashrc

验证是否安装成功

aarch64-linux-gnu-gcc -v

在这里插入图片描述4. 编译QT源码

sudo tar xvf qt-everywhere-src-5.12.10.tar.xz
cd qt-everywhere-src-5.12.10

然后cd到源码的这个目录下
在这里插入图片描述

选择名称与你所用编译工具相近的文件夹拷贝一份,重命名为所用编译器名称(重要,否则会出现ERROR: Invalid target platform ‘arm-linux-gnueabi-g++’.)

sudo cp -a linux-aarch64-gnu-g++/ aarch64-linux-gnu-g++/

修改arm-linux-gnueabi-g++/qmake.conf文件
修改前
在这里插入图片描述

修改后,图中所选部分为交叉编译工具安装路径
在这里插入图片描述5. 配置编译参数

1、由于编译时会生成不少临时文件,为避免污染源码,建议新建一个文件,作为构建目录
2、在该目录下创建一个autoconfig.sh的脚本,添加如下内容

#!/bin/sh

../qt-everywhere-opensource-src-5.12.10/configure \
-xplatform aarch64-linux-gnu-g++ \
-verbose \
-opensource \
-release \
-shared \
-confirm-license \
-make libs \
-nomake tests \
-nomake examples \
-skip qtmacextras \
-skip qtandroidextras \
-no-opengl \
-prefix /home/hxz/qt_arm/qt_5.12.10_arm

…/qt-everywhere-opensource-src-5.12.10/configure 这一行为,源码中configure文件相对于构建目录的位置
在这里插入图片描述

-xplatform aarch64-linux-gnu-g++ 指定编译工具
-prefix /home/hxz/qt_arm/qt_5.12.10_arm 指定最后通过make install生成文件所放位置

3、执行脚本文件

sudo ./autoconfig.sh

4、执行make对源码进行编译,过程较长,大约需要3个小时

make -j8

5、执行make install

sudo make install

在编译完成后执行 make install 会将qt库安装到 -prefix 指定的目录下。
到此编译结束

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值