我想在Windows上的QT Creator中开发一个使用FFMPEG的video播放器,但对于QT Creator环境来说却是全新的。
我已经从这个链接下载了一个示例项目。 当我打开它的QT Creator并运行它,它返回了这个错误, :-1: error: avutil is required, but compiler can not find it
。
我已经下载了这个(ffmpeg-20130322-git-e0e8c20-win64-static)FFMPEG文件并将其解压到C分区中的一个文件夹中。 我想我得到这个错误,因为QT无法findFFMPEG的位置,但仍然不知道如何链接它。 你能否帮我解决这个问题。
您应该设置一些环境变量,以便编译器可以找到FFmpeg和其他库文件。
对于VC编译器,它们是INCLUDE和LIB。 对于gcc,它们是CPATH和LIBRARY_PATH。 例如
VC:
set INCLUDE=ffmpeg_path\include;portaudio_path\include;%INCLUDE% set LIB=ffmpeg_path\lib;portaudio_path\lib;%LIB%
gcc在unix shell环境下(包括sh.exe的mingw):
export CPATH=ffmpeg_path/include:portaudio_path/include:$CPATH export LIBRARY_PATH=ffmpeg_path/include:portaudio_path/lib:$LIBRARY_PATH
gcc在windows cmd环境中没有sh.exe
set CPATH=ffmpeg_path\include;portaudio_path\include;%CPATH% set LIBRARY_PATH=ffmpeg_path\lib;portaudio_path\lib;%LIBRARY_PATH%
如果你正在QtCreator建设,转到QtCreator的“项目”页面,并添加或追加这些环境。
我想我应该写一些文件来展示如何构建QtAV。
我是QtAV的作者。 我想你正在使用针对OpenGL ES2构建的官方Qt5库。 但QtAV使用OpenGL 1.x. 所以你可能会收到编译错误。 但是我前几天通过禁用OpenGL代码解决了这个问题。 所以我想知道你是否使用最新的代码。 如果没有,请使用
git update
更新QtAV。 如果编译错误仍然存在,请让我知道。 我在我的电脑上测试过,工作正常。 你也可以通过修改QtAV.pro来禁用OpenGL代码。 在这里删除'gl'
OptionalDepends = portaudio direct2d gdiplus xv gl #openal
我不熟悉OpenGL,所以对OpenGL ES2的支持需要一些时间。 如果你想启用OpenGL,你可以使用Qt4.8或自己构建Qt5。 我建议你使用Qt4.8,因为Qt5现在不稳定。
:)
经过一番研究,我能够解决上述问题。 这是解决方案,
从此链接下载“ffmpeg-20130322-git-e0e8c20-win32-dev”。
将“ffmpeg-20130322-git-e0e8c20-win32-dev / include”文件夹中的所有文件夹复制到“C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include”
将所有DLL文件从“ffmpeg-20130322-git-e0e8c20-win32-dev / lib”复制到“C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ lib”
但现在有很多与OpenGL命令有关的错误。 最后,我成功地运行了这个项目。 我的博客上这篇文章显示的步骤。