Showing Posts From
Qt
- 29 Sep, 2020
最简单的基于QT+ffmpeg的播放器的例子
前提条件: - 基于搭建基于QT Creator的ffmpeg开发环境在Windows环境中完成QT Creator++ffmpeg的开发环境,能够在QT Creator中正常的调用ffmpeg library中的接口得到正确的结果。 UI准备: - 在QT Creator中新建一个QT Wigets Application工程,修改其页面类的base class为QWidget; - 在工程的Forms中修改页面的ui文件,放一个pushButton和一个Label,播放器解码后的图像将会在Label的Pixmap中显示出来; !Untitled.png 主要代码流程: 参考资料: - Qt+FFmpeg 简单实现视频播放
- 24 Sep, 2020
搭建基于QT Creator的ffmpeg开发环境
操作系统版本:Windows 10. 从ffmpeg上下载windows平台上预编译好的ffmpeg库 下载地址: https://ffmpeg.zeranoe.com/builds/。 在基于动态链接库开发的情况下,需要下载下图中的Shared和Dev两个包: !Untitled.png 下载后解压缩到某个指定的目录中备用,此处把两个包均解压缩到D:\development\ffmpeg_lib目录下: !Untitled.png 在系统环境变量中设置动态链接库的目录 !Untitled.png - 这样就不需要把动态链接库拷贝到应用程序所在的目录下了; 新建QT项目,修改QT项目的pro文件,增加头文件和库文件路径 环境测试代码 参考资料: - Qt+ffmpeg环境搭建 - Qt Creator中配置FFmpeg
- 15 Sep, 2020
QT5.9.8版本在海思3521平台上的移植
QT源码的下载及交叉编译工具的准备 - QT源码的下载地址:https://download.qt.io/archive/qt/5.9/5.9.8/single/qt-everywhere-opensource-src-5.9.8.tar.xz; - 交叉编译工具: - 交叉编译工具使用的是海思3521 SDK带的arm-hisiv500-linux交叉编译工具链,这个交叉编译工具链的sysyroot位置为:x86-arm/arm-hisiv500-linux/target,这一点在QT的configure中需要用到; 修改QT的mkspecs 针对我们要进行的海思3521平台的QT编译,在QT源码根目录中,进入qtbase/mkspecs子目录中,从linux-arm-gnueabi-g++目录上拷贝重命名一个hisi3521-linux-gnueabi-g++目录,并修改其中的qmake.conf文件如下: - 对于QT的交叉编译而言,针对自己交叉编译的平台及其工具链修改mkspecs是交叉编译过程的第一步,后续对QT进行configure的时候需要通过xplatform来传递自己的平台类型。 交叉编译配置脚本 在QT目录下创建一个编译配置脚本buildsetup.sh如下: 以上脚本主要做了四件事情: - 设置必要的环境变量; - 把QT交叉编译的configure过程封装在qtmakeconfig中; - 把QT交叉编译的完整编译过程封装在qtmakeall中; - 把QT交叉编译的安装过程封装在qtmakeinstall中; 交叉编译流程及其问题的解决 在以上编译配置脚本的帮助下,对于QT的交叉编译就非常简单了: - 编译后生成的库、插件等目录在QT根目录下的Qt_5.9.8,把这些目录拷贝到板子的/usr/local/Qt_5.9.8子目录下并设置对应的环境变量即可使用。 1.编译qmake的时候出现“You cannot configure qt separately within a top-level build.”的错误 完整错误提示如下: 解决办法: - 参考http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=3026&uid=121778给出的办法,在QT源码的top level目录下创建两个文件:touch .qmake.stash .qymake.super,然后重新进行编译即可。