2013-03-24 107 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現在不穩定。

:)