2013-03-24 26 views
1

我想在Windows上使用QT Creator中的FFMPEG开发视频播放器,但对于QT Creator环境来说是全新的。在Windows中运行QT Creator中的项目

我已经从link下载了一个示例项目。当我打开QT Creator并运行它时,它返回了这个错误,:-1: error: avutil is required, but compiler can not find it

我已经下载了这个(ffmpeg-20130322-git-e0e8c20-win64-static)FFMPEG文件并将其解压到C分区中的一个文件夹中。我想我得到这个错误,因为QT无法找到FFMPEG的位置,但仍然不知道如何链接它。你能否帮我解决这个问题。

回答

0

您应该设置一些环境变量以便编译器可以找到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在窗口环境在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。

+0

LucasWang,非常感谢您的回答。但是,现在我收到许多像这样的OpenGL相关错误消息,“C:\ QtAV-master \ QtAV-master \ src \ GLWidgetRenderer.cpp(100):error C2065:'GL_SMOOTH':未声明的标识符”。我认为链接到OpenGL已经失踪,但无法弄清楚如何链接它。 – 2013-03-28 11:29:26

0

经过一番研究,我才得以解决上述问题。这是解决方案,

  • 下载 “的ffmpeg-20130322-混帐e0e8c20-的win32-dev的” 从这个link

  • 复制里面的所有文件夹 “的ffmpeg-20130322-混帐e0e8c20-的win32-dev /目录包括” 文件夹 “C:\ Program Files文件(x86)的\微软的Visual Studio 10.0 \ VC \包括”

  • 所有的DLL文件从 “的ffmpeg-20130322-混帐e0e8c20-的win32-dev的/ lib目录” 复制 “C:\ Program Files文件(x86)的\微软的Visual Studio 10.0 \ VC \ LIB”

但现在有很多与OpenGL命令相关的错误。最后,我能够成功运行该项目。我的博客上的This文章显示了步骤。

3

我是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现在不稳定。

:)