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,真是学到了
  • 最后就是报错没字体 放字体,最后一切都好了,真心累啊
相关推荐
测试员周周29 分钟前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
杜子不疼.3 小时前
【C++ AI 大模型接入 SDK】 - DeepSeek 模型接入(上)
开发语言·c++·chatgpt
加号33 小时前
【C#】 串口通信技术深度解析及实现
开发语言·c#
sycmancia4 小时前
Qt——编辑交互功能的实现
开发语言·qt
石山代码4 小时前
C++ 内存分区 堆区
java·开发语言·c++
无风听海4 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠5 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
LuminousCPP6 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
web3.08889996 小时前
1688 图搜接口(item_search_img / 拍立淘) 接入方法
开发语言·python
один but you7 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言