Qt c++ ffmpeg找不到库

Qt C++ ffmpeg cannot find library

本文关键字:找不到 ffmpeg c++ Qt      更新时间:2023-10-16

我在windows上使用Qt 5.0.2和Mingw 4.7。

我正在做一个c++程序,我想得到视频文件的持续时间。我找到了ffmpeg。现在我试着编译一个简单的程序,但我认为它失败与库。我试着同时包含共享和开发,但它们都失败了。

这是我的个人档案:

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
INCLUDEPATH += C:programmingffmpeg-20130606-git--win32-sharedbin
LIBS += -LC:programmingffmpeg-20130606-git--win32-sharedbin -lavcodec-55.dll -     lavformat-55.dll -lavutil-52.dll

得到如下错误:

":-1: error: cannot find -lavcodec-55.dll"

":-1: error: cannot find -lavformat-55.dll"

我也试过了:

INCLUDEPATH += C:programmingffmpeg-20130606-git--win32-devinclude
INCLUDEPATH += C:programmingffmpeg-20130606-git--win32-devlib
LIBS += -LC:programmingffmpeg-20130606-git--win32-devlib -lavcodec -lavformat -lavutil
LIBS += -LC:programmingffmpeg-20130606-git--win32-devlib -llibavcodec.dll.a -llibavformat.dll.a -llibavutil.dll.a

这里给出一个错误"During startup program exit with code 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:programmingffmpeg-20130606-git--win32-devinclude
LIBS += -LC:programmingffmpeg-20130606-git--win32-devlib
LIBS += -lavcodec -lavformat -lavutil

然后,构建项目,从C:programmingffmpeg-20130606-git--win32-sharedbin复制所有dll库到exe输出路径,并运行应用程序。

乌利希期刊指南

也许您需要从Qt5.0.2mingw47_32bin中复制以下一些库:

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