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,真是学到了
  • 最后就是报错没字体 放字体,最后一切都好了,真心累啊
相关推荐
Duang007_16 小时前
【LeetCodeHot100 超详细Agent启发版本】字母异位词分组 (Group Anagrams)
开发语言·javascript·人工智能·python
froginwe1116 小时前
Redis 管道技术
开发语言
u01092727117 小时前
C++中的RAII技术深入
开发语言·c++·算法
superman超哥17 小时前
Serde 性能优化的终极武器
开发语言·rust·编程语言·rust serde·serde性能优化·rust开发工具
誰能久伴不乏18 小时前
【Qt实战】工业级多线程串口通信:从底层协议设计到完美收发闭环
linux·c++·qt
一个响当当的名号18 小时前
lectrue9 索引并发控制
java·开发语言·数据库
2401_8321319518 小时前
模板错误消息优化
开发语言·c++·算法
进阶小白猿18 小时前
Java技术八股学习Day30
java·开发语言·学习
liu****18 小时前
4.Qt窗口开发全解析:菜单栏、工具栏、状态栏及对话框实战
数据库·c++·qt·系统架构
lead520lyq18 小时前
Golang本地内存缓存
开发语言·缓存·golang