簡體   English   中英

Qt C ++ ffmpeg無法找到庫

[英]Qt C++ ffmpeg cannot find library

我在Windows上將Qt 5.0.2與Mingw 4.7一起使用。

我正在使用C ++程序,正在嘗試獲取視頻文件的持續時間。 我找到了ffmpeg 現在,我嘗試編譯一個簡單的程序,但是我認為該庫無法運行。 我試圖包括共享和開發,但它們都會失敗。 Zeranoe FFmpeg構建

這是我的專業文件:

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

INCLUDEPATH += C:\programming\ffmpeg-20130606-git--win32-shared\bin

LIBS += -LC:\programming\ffmpeg-20130606-git--win32-shared\bin -lavcodec-55.dll -     lavformat-55.dll -lavutil-52.dll

我收到如下錯誤:

“:-1:錯誤:找不到-lavcodec-55.dll”

“:-1:錯誤:找不到-lavformat-55.dll”

我也嘗試過:

INCLUDEPATH += C:\programming\ffmpeg-20130606-git--win32-dev\include
INCLUDEPATH += C:\programming\ffmpeg-20130606-git--win32-dev\lib

LIBS += -LC:\programming\ffmpeg-20130606-git--win32-dev\lib -lavcodec -lavformat -lavutil

LIBS += -LC:\programming\ffmpeg-20130606-git--win32-dev\lib -llibavcodec.dll.a -llibavformat.dll.a -llibavutil.dll.a

在這里它給出了一個錯誤“在啟動程序退出時,代碼為0x0000135”

我什至試圖單獨包括每個庫。 但是沒有結果。

這是我的主文件:

#include <iostream>
using namespace std;
extern "C" {
  #include <libavcodec/avcodec.h>    // required headers
  #include <libavformat/avformat.h>
}
int main(int argc, char**argv) {
   av_register_all();             // offending library call
   return 0;
}

一個簡單的程序將產生兩個結果:

  1. 該程序運行,但是如果我調用“ av_register_all()”,則會崩潰
  2. 它只是告訴我他找不到圖書館。

有人可以告訴我我在做什么錯嗎? 甚至給我一個提示? 我真的找不到關於這個的很多好的文檔。

提前致謝!

配置PRO文件,如下所示:

INCLUDEPATH += C:\programming\ffmpeg-20130606-git--win32-dev\include

LIBS += -LC:\programming\ffmpeg-20130606-git--win32-dev\lib
LIBS += -lavcodec -lavformat -lavutil

然后,構建項目,將所有dll庫從C:\\programming\\ffmpeg-20130606-git--win32-shared\\bin復制到exe輸出路徑並運行應用程序。

UPD

也許您需要從Qt\\5.0.2\\mingw47_32\\bin\\復制以下某些庫:

libgcc_s_sjlj-1.dll
libstdc++-6.dll
libwinpthread-1.dll

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM