buildroot编译qt 5.9.8 arm64版本踩坑

  • 使用的是buildroot2019的版本默认qt5.11.3 使用gcc7.3外置工具链编译,报错gn 需要cpp14版本编译,很奇怪居然是编译宿主的gn,我的ubuntu14 gcc4.8,从gcc4.9开始支持cpp14,后来升级成gcc7 又报错需要高版本的glibc3.4.20,宿主机最高支持3.4.19,遂放弃
  • buildroot默认是不开启qwebegine的,要开启需要drm,udv,xcb,opengl,包括显卡驱动,选的是g开头的那个显卡开源驱动,还需要ffmpeg,默认没集成,需要自己编译,开启了gst-ffmpeg,opencv这些,按理来说都是ffmpeg-based,但还是不行
  • 好在天无绝人之路,找到了buildroot的全量包移植好ffmpeg,成功交叉编译,后续还是报错,所以放弃。突然在网上找到有人编好的qt arm64 5.9.5的版本qwebengine.so,就想着我编一个同版本的qtbase core widgets这样也可以链接,跑个简单浏览器,无奈可能是gcc版本不一样,链接起来还是有问题所以放弃
  • 然后就想,能不能自己编qt arm64版本,反正都是移植到linux系统,只要有工具链,有源码什么都好说,所以下载了5.9.9版本qt,配置交叉编译环境,没想到这么顺,顺的我不敢想象,后面都编完了最让人头疼的chromium,结果最后链接的时候找不到qtdesigner的动态链接库,在网上找了很久都说在qttools下面,但我的就是死活不生成只有对应的pl.doc这些东西,在网上找了好久的方法还是不行,buildroot开启所有的qttools选项还是不行,我看了下自己win64上的qt5.14 人家就有这个qtdesigner的库,差点气死我,遂放弃
  • 转念一想,可能是qt5.9.9的版本特殊呢,于是降了个版本一顿操作,居然编译成功了,差点要哭了
  • 后面就是激动人心的验证时刻
  • 驱动告诉我没有drm,只有linuxfb。我试了下还是不行,于是自己捣鼓了个glfs,基于opengl的,发现可以了,但是一直报错找不到qwebenginewigetprocess,最后在sysroot libexe找到了,妈耶,库的可执行文件原来是这么命名的libexe,真是学到了
  • 最后就是报错没字体 放字体,最后一切都好了,真心累啊
相关推荐
阿贵---28 分钟前
C++中的RAII技术深入
开发语言·c++·算法
Traced back34 分钟前
怎么用 Modbus 让两个设备互相通信**,包含硬件接线、协议原理、读写步骤,以及 C# 实操示例。
开发语言·c#
娇娇yyyyyy2 小时前
QT编程(17): Qt 实现自定义列表模型
开发语言·qt
ms_27_data_develop2 小时前
Java枚举类、异常、常用类
java·开发语言
add45a2 小时前
C++编译期数据结构
开发语言·c++·算法
岁岁种桃花儿3 小时前
AI超级智能开发系列从入门到上天第四篇:AI应用方案设计
java·服务器·开发语言
Amnesia0_03 小时前
C++中的IO流
开发语言·c++
2401_891482173 小时前
C++模块化编程指南
开发语言·c++·算法
暮冬-  Gentle°3 小时前
自定义类型转换机制
开发语言·c++·算法