前言
本文详细描述Window 10 和Ubuntu 14.04使用Qt Creator编译QtAV 1.12的步骤
1 Windows
1.1 依赖环境
第一种方法:
下载编译好的ffmpeg-3.4.2-win64-dev和ffmpeg-3.4.2-win64-shared,解压得到
D:\qt-workspace\ffmpeg-3.4.2-win64-dev
D:\qt-workspace\ffmpeg-3.4.2-win64-shared
第二种方法:
QtAV官方有提供编译好的依赖库 QtAV-depends-windows-x86%2Bx64.7z,解压得到
D:\qt-workspace\QtAV-depends-windows-x86+x64
1.2 QtAV编译
下载QtAV-1.12.0,解压得到QtAV-1.12.0,在Qt Creator中导入QtAV项目
然后在Qt Creator设置编译时候的环境变量,换成自己ffmpeg解压的路径
变量 | 值 |
---|---|
CPATH | D:\qt-workspace\ffmpeg-3.4.2-win64-dev\include |
LD_LIBRARY_PATH | D:\qt-workspace\ffmpeg-3.4.2-win64-dev\lib |
LIBRARY_PATH | D:\qt-workspace\ffmpeg-3.4.2-win64-dev\lib |
如果使用的是QtAV提供编译好的依赖库的话,需要注意压缩包里提供了32位和64位的库,我要编译64位的,所以路径是…\lib\x64,如果要编译32位的,则路径是…/lib,变量值如下
变量 | 值 |
---|---|
CPATH | D:\qt-workspace\QtAV-depends-windows-x86+x64\include |
LD_LIBRARY_PATH | D:\qt-workspace\QtAV-depends-windows-x86+x64\lib\x64 |
LIBRARY_PATH | D:\qt-workspace\QtAV-depends-windows-x86+x64\lib\x64 |
编译的时候报错
error: avutil is required, but compiler can not find it
原因可能没有安装好ffmpeg或者上述的环境变量设置的路径有误,或者ffmpeg版本不对
编译完成,点击Qt Creator侧边栏的小电脑图标,选择需要运行的程序
比如选择了player,再点击运行按钮,可能运行会报如下的错误
22:02:28: Starting D:\qt-workspace\build-QtAV-Desktop_Qt_5_12_3_MinGW_64_bit-Release\bin\Player.exe ...
22:02:29: 程序异常结束。
22:02:29: The process was ended forcefully.
22:02:29: D:/qt-workspace/build-QtAV-Desktop_Qt_5_12_3_MinGW_64_bit-Release/bin/Player.exe crashed.
在1.1小节解压得到的ffmpeg-3.4.2-win64-shared中,把bin目录下的动态链接库复制到QtAV的编译目录的bin目录下,比如我的目录是
D:\qt-workspace\ffmpeg-3.4.2-win64-shared\bin
D:\qt-workspace\build-QtAV-Desktop_Qt_5_12_3_MinGW_64_bit-Release\bin
需要复制的动态链接库是
再次运行就不会有错误了
如果使用的是QtAV提供编译好的依赖库的话,注意编译64位要…bin/x64目录下的,32位要…/bin目录下的,如下所示
D:\qt-workspace\QtAV-depends-windows-x86+x64\bin\x64
D:\qt-workspace\build-QtAV-Desktop_Qt_5_12_3_MinGW_64_bit-Release\bin
1.3 QtAV安装
在QtAV编译目录下双击sdk_install.bat即可,比如我的目录是
D:\qt-workspace\build-QtAV-Desktop_Qt_5_12_3_MinGW_64_bit-Release
之后库文件和头文件等就会安装到Qt Sdk相关路径下,其他使用QtAV的应用就可以依赖上了
1.4 QtAV使用
新建一个Demo
#