Qt5.14.2-Linux平台配置Qt Creator的ARM体系结构Linux交叉编译器

1、安装Qt并下载对应源码

下载并安装Qt

编辑

下载对应的源码包,Linux版本选择tar.gz格式的源码包

Index of /archive/qt/5.14/5.14.2

链接

2、下载ARM交叉编译工具

Arm GNU Toolchain Downloads – Arm Developer

Linaro Releases

ARM相关工具链发布主要有ARM、Linaro、Codesourcery。

命名规则

交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]

  • arch : 体系架构,如arm、aarch32(ARM32架构)、aarch64(ARM64架构)

  • vendor : 工具链提供商,none。

  • os : 目标操作系统,linux适用于Linux OS。

  • eabi : 嵌入式应用二进制接口(Embedded Application Binary Interface)

  • abi : 二进制应用程序接口(Application Binary Interface (ABI) for the ARM Architecture)。在计算机中,应用二进制接口描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口。

gnu/linux - 表示使用glibc运行库

配置交叉编译器

由于ARM设备的系统环境是glibc2.23,这里选择linaro的6.5.0版本

将64位x86架构交叉编译器gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu.tar.xz下载并解压到目标路径下

将目标路径添加至当前用户的环境变量中,因为当前所使用的系统的shell是zsh,所以在~/.zshrc中进行添加,shell是bash则在~/.bashrc中添加

export PATH=$PATH:绝对路径:绝对路径

3、交叉编译Qt源码

./configure -release -static -opensource -prefix ~/CrossCompileToolChain/aarch64-linux-gun-kit -nomake tests -nomake examples -no-opengl -skip qtvirtualkeyboard -platform linux-g++ -xplatform linux-aarch64-gnu-g++

-release

编译release版本

-opensource

表示开源许可

-prefix

指定安装目录,根据自己喜好;安装后qmake程序默认就会根据这个目录路径去搜索头文件和库文件

-nomake

表示不编译后面参数指定的模块

-no-opengl

表示不编译OpenGL,这个我们用不着,也没有安装OpenGL环境,所以不编译,否则会出错

–skip qtvirtualkeyboard

跳过qtvirtualkeyboard,没有相应库环境,不编译,否则编译和安装过程中可能会报错。

-xplatform linux-aarch64-gnu-g++

指定交叉编译器配置目录为linux-aarch64-gnu-g++,qmake会到当前目录下的qtbase/mkspecs/linux-aarch64-gnu-g++里读取qmake.conf文件,找到配置文件里的交叉编译工具来编译Qt动态库。

默认-shared

编译动态库,这里设为静态库(-static),动态库可移植(生成的工具编译时可选择生成静态或动态库),静态库仅用于编译时链接(生成的工具编译时不能生成动态库)。

默认-platform

win32-g++,指定本地编译器配置目录,到当前目录下的qtbase/mkspecs/win32-g++目录里读取qmake.conf文件,找到本地编译工具来编译qmake。

根据错误提示分别在两个头文件中包含limits头

接下来根据提示去完成编译和安装即可,加-j 8可以提升编译速度,V=s可以显示更详细的信息

gmake过程中出现报错

往上拉找到首次出现的错误信息,发现还是limit头

编译过程中再次出现错误信息Project ERROR: Unknown module(s) in QT: openglextensions,是由qtquick3d编译的过程中产生,此处无需该模块,重新./configure 加上-skip qtquick3d即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值