ubuntu下交叉编译qt源码aarch64_linux或qnx下其他架构

上一篇文章介绍了我在编译qnx7.0版本aarch64架构的qt源码时遇到的问题,当时遇到很多问题结果是因为qnx700编译器问题,编译器不完整加上没有qnx的licence,导致出了一堆问题,还傻乎乎修改qt源码配置,后续我又编译了qnx660下arm32架构qt,qnx710下aarch64架构,linux_aarch64架构qt源码,最后发现交叉编译qt的基本流程。

一、下载qt源码

此处使用qt 5.15.5源码编译,记住不需要修改qt任何配置,修改之后很大程度编译不过并且编译出来也大概率用不了,解压之后直接在源码跟目录创建一个build文件夹,进入build文件夹,执行配置指令。

二、确定编译架构qnx_qrm、qnx_aarch64、linux_aarch64等

qt源码都包含对应架构平台配置,在路径qt-everywhere-src-5.15.5/qtbase/mkspecs下看下是否能查找到对应平台配置信息,此处我编译架构为linux-aarch64-gnu-g++,此时采用的是芯驰平台x9h编译器,编译器一般由客户提供。

打开终端,需要先指定编译器位置并设置环境变量,直到能自动弹出编译器算成功。

然后执行配置命令,配置可根据自己需求更改

../configure -release -opensource -confirm-license -xplatform linux-aarch64-gnu-g++ -nomake examples -no-opengl

-release:发布版

-opensource -confirm-license:确定编译开源版本

-xplatform:指定平台,最为重要,根据自己编译平台指定,此处指定linux-aarch64-gnu-g++,如果qt没有你想要的平台配置,那么大概率魔改qt配置的话,你是编译不过的。

-nomake examples -no-opengl:我不需要编译opengl相关,所以不编译

配置执行不报错完成之后直接执行make,也可以make -j8等使用多线程编译,不过我有时会出现多线程编译报错情况,所以我还是只执行make,make完成之后执行sudo make install,默认安装路径味/usr/local/, 如下图

注意:编译qnx7.0和qnx7.1系统下的aarch64架构时,qnx一定要有许可证,不然编译过程中会爆奇怪的错误。验证是否有许可证如下:

执行souce qnx脚本

然后直接执行qcc

出现no files to process代表有许可证,如果出现check licence fialed 则代表无许可证。

许可证需要放在在用户目录下.qnx隐藏文件夹下,许可证需要向qnx官方购买。

然后就可以像上面流程一样编译了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值