angelus 发表于 2017-7-24 20:45:25

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

本帖最后由 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模块
其他版本要么没有,要么支持也不全










yafeilinux 发表于 2017-7-25 21:41:05

不错啊,呵呵,可以放几张图片上来。

ywlzh 发表于 2017-8-31 18:29:38

楼主 有用webengine读取本地视频的例子吗? 这个真的很折磨人呀

601903775@qq.co 发表于 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
请问怎么不办?谢谢!:lol

吴一 发表于 2017-10-24 14:36:56

楼主可以分享一下脚本资源吗?
我的邮箱329480955@qq.com
谢谢!

yunhaisoft 发表于 2018-1-2 10:46:43

能分享一下脚本吗?学习学习,谢谢。

zaoshen14 发表于 2018-1-19 12:09:52

有教程 或者资料吗小白一个急需指导哈哈哈哈

卧槽牛逼 发表于 2018-3-21 18:36:43

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
顶顶顶顶顶顶顶顶顶顶顶:顶顶顶顶顶顶顶:):):)

445908989 发表于 2018-3-28 14:04:56

楼主能完美运行QML吗,我使用qt自己编的,运行QML很卡诶

disini 发表于 2018-4-18 09:30:07

学习了,真的是好文章,感谢楼主分享!

wain 发表于 2019-8-13 21:53:09


能分享一下脚本吗?学习学习,谢谢。
424670725@qq.com
页: [1]
查看完整版本: 关于树莓派3b交叉编译Qt5.9.1结果(嵌入式平台)