Linux-Arm环境下配置编译qt-everywhere及交叉编译环境

本文讲述了作者在ARM设备上配置Qt开发环境的过程,包括下载QtEverywhere源码、使用configure命令配置、解决编译错误(如缺少qendian.h头文件和libharfbuzz库),以及安装过程中需要额外的Python依赖。
摘要由CSDN通过智能技术生成

前言

最近在搞交叉编译的事,手上拿了个同事的香橙派玩交叉编译,现在来到了第一步,就是先在arm上配置qt的开发环境。当然了Qt没有直接提供qt on arm,而是需要自行在arm环境下编译一个qt环境出来,所以这里需要使用到qt提供的qt everywhere套件在板载系统上编译

参考文章

移植Qt到ARM平台及搭建Qt交叉编译环境

正文

前排提示,之前我在网上参考了很多教程,在一些板子上如果直接尝试编译,直接使用./configure -prefix xxx 来编译,就会有比如在我尝试使用Qt-everywhere进行编译的时候,提示报错xx/lib/libqtharfbuzz.a:No such file or directory 的bug,导致编译失败,没有下文了。

所以我们在arm板上编译的时候需要做一些取舍,有些模块是我们不需要的,就要在./configure的时候将其标注为不需要

流程

qt-everywhere的编译流程大致如下:

  1. 下载qt-everywhere包,并解压到任意路径Path_下
  2. 使用./configure命令对当前工程进行配置,指定编译行为
  3. 使用gmake install命令开始编译

具体流程

1. 下载qt-everywhere包

download.qt.io

在这里插入图片描述

然后我们将这个qt-everywhere-src-5.12.10.tar.xz文件解压到某个文件夹下,比如

在这里插入图片描述

2. 使用./configure命令配置编译流程

这里的具体内容可以参考
Qt移植到ARM64-v8平台(NXP i.MX8M)笔记

但是我这里不做过多介绍,cd到qt-everywhere-src-5.12.10目录下直接使用./configure -prefix ~/qtInstall 把这个qt的编译后成功指定到qtInstall目录下了,具体的目录可以自己指定

如果./configure命令一切正常的话,则上述会提示你现在可以使用make install命令进行编译,如果出现这个提示则可以直接进行编译了。

我在编译的时候会报错,提示是一个和数字有关的函数未被定义,我这里是qendian.h里面少了头文件,我往里面手动加了一个#include <limits> 就可以了,不过我也不知道这合不合适

3.使用make install 命令开始进行编译

上述提示出现后,就可以使用make install来进行编译和安装了
在这里插入图片描述

报错

  1. 在安装的过程中,报错Error2 xx/lib/libqtharfbuzz.a:No such file or directory

这个是因为我的linux环境里没有安装libharfbuzz库,使用sudo apt-get install libharfbuzz-dev,删掉build出来的内容,重新编译即可。

  1. 安装的过程中,提示webengine需要python

同上,sudo apt-get install python 即可

  • 15
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值