找回密码
 立即注册
收起左侧

关于树莓派3b交叉编译Qt5.9.1结果(嵌入式平台)

10
回复
17047
查看
[复制链接]
累计签到:53 天
连续签到:1 天
来源: 原创 2017-7-24 20:45:25 显示全部楼层 |阅读模式
本帖最后由 angelus 于 2017-7-26 12:51 编辑

今天终于完美的在树莓派3上交叉编译qt5.9.1成功
从半个月前开始买了树莓派玩玩,就一直在尝试把qt5.9.1运行在树莓派3上,
先后尝试了在树莓派上编译,在32位linux下交叉编译,在64位linux下交叉编译,上网查找各种教程。
遗憾的是一直都没有完美的编译出来,要么就是缺少 播放器后端,要么就是没法开启opengl es2 ,
最好的结果就是交叉编译后需要把 工程放在特定目录下才能正常编译,还需要忽略qtwebengine模块

总之就是各种缺陷,最近突然发现国外已经有人为此开发出了编译脚本,就花费了周末两天来实验
第一天基本上各种坑,一天就在失败中结束。
不服输第二天开始尝试开发版的编译脚本,终于在经过各种问题后,编译完美成功!


选择编译的模块包括:
qtbase    qtdeclarative      
qtquickcontrols     
qtquickcontrols2   
qtmultimedia   
qtsvg                  
qtxmlpatterns     
qtwebsockets   
qtserialport     
qtwebchannel   
qtremoteobjects   
qtvirtualkeyboard   
qtwebengine   
qtnetworkauth   
qtserialbus      
qtspeech        
qtcharts     
qtgamepad   
qtgraphicaleffects
(piomxtextures ffmpeg)非qt的第三方模块


测试环境  pi3字符界面下 开启  eglfs  进行显示 (非x11图形界面)

1    qtmultimedia                                              ok     可以播放1080P的mp4影片
2:qtquickcontrols2                                         ok     自己写的例子
3:   qtremoteobjects                                         ok     自己写的例子同步
4:   qtserialport                                                 ok     自己写 语音识别模块的串口读写
5:   qtwebengine                                              ok     自带例子 quicknanobrowser 可以完美运行,访问qt的主页)


其他模块没有测试,不过应该没啥问题,我树莓派外接的是 7寸电容屏,触摸没有任何问题!
最近会更新教程到论坛.

其实网上有很多其他版本的编译,我非要选择去编译5.9.1的原因是 qtquickcontrols2和qtremoteobjects模块
其他版本要么没有,要么支持也不全










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:1568 天
连续签到:1 天
2017-7-25 21:41:05 显示全部楼层
不错啊,呵呵,可以放几张图片上来。
回复 支持 反对

使用道具 举报

累计签到:53 天
连续签到:1 天
2017-8-31 18:29:38 显示全部楼层
楼主 有用webengine读取本地视频的例子吗? 这个真的很折磨人呀
回复 支持 反对

使用道具 举报

累计签到:1 天
连续签到:1 天
2017-10-12 13:16:57 显示全部楼层
请教大神个问题。
我也是在把Qt5.9移值到树莓派中,在用Qt的例子player播放视频时候出现
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).

(player:11191): GLib-GObject-CRITICAL **: g_object_set: assertion `G_IS_OBJECT (object)' failed

(player:11191): GStreamer-CRITICAL **: gst_object_ref: assertion `object != NULL' failed

(player:11191): GStreamer-CRITICAL **: gst_bin_add_many: assertion `GST_IS_ELEMENT (element_1)' failed

(player:11191): GStreamer-CRITICAL **: gst_element_link_pads_full: assertion `GST_IS_ELEMENT (src)' failed

(player:11191): GStreamer-CRITICAL **: gst_element_get_static_pad: assertion `GST_IS_ELEMENT (element)' failed

(player:11191): GStreamer-CRITICAL **: gst_ghost_pad_new: assertion `GST_IS_PAD (target)' failed

(player:11191): GStreamer-CRITICAL **: gst_element_add_pad: assertion `GST_IS_PAD (pad)' failed

(player:11191): GStreamer-CRITICAL **: gst_object_unref: assertion `object != NULL' failed

(player:11191): GStreamer-CRITICAL **: gst_element_set_state: assertion `GST_IS_ELEMENT (element)' failed

(player:11191): GStreamer-CRITICAL **: gst_element_set_state: assertion `GST_IS_ELEMENT (element)' failed

(player:11191): GStreamer-CRITICAL **: gst_bin_remove: assertion `GST_IS_ELEMENT (element)' failed

(player:11191): GStreamer-CRITICAL **: gst_element_link_pads_full: assertion `GST_IS_ELEMENT (src)' failed
Linking video output element failed
请问怎么不办?谢谢!
回复 支持 反对

使用道具 举报

尚未签到

2017-10-24 14:36:56 显示全部楼层
楼主可以分享一下脚本资源吗?
我的邮箱329480955@qq.com
谢谢!
回复 支持 反对

使用道具 举报

累计签到:3 天
连续签到:1 天
2018-1-2 10:46:43 显示全部楼层
能分享一下脚本吗?学习学习,谢谢。
回复 支持 反对

使用道具 举报

尚未签到

2018-1-19 12:09:52 显示全部楼层
有教程 或者资料吗  小白一个急需指导  哈哈哈哈
回复 支持 反对

使用道具 举报

累计签到:1 天
连续签到:1 天
2018-3-21 18:36:43 显示全部楼层
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
顶顶顶顶顶顶顶顶顶顶顶:顶顶顶顶顶顶顶
回复 支持 反对

使用道具 举报

累计签到:18 天
连续签到:1 天
2018-3-28 14:04:56 显示全部楼层
楼主能完美运行QML吗,我使用qt自己编的,运行QML很卡诶
回复 支持 反对

使用道具 举报

累计签到:13 天
连续签到:1 天
2018-4-18 09:30:07 显示全部楼层
学习了,真的是好文章,感谢楼主分享!
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2019-8-13 21:53:09 显示全部楼层

能分享一下脚本吗?学习学习,谢谢。
424670725@qq.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了