C++ Qt C++;ffmpeg找不到库

C++ Qt C++;ffmpeg找不到库,c++,qt,ffmpeg,C++,Qt,Ffmpeg,我在windows上使用Qt5.0.2和MingW4.7 我正在研究C++程序,我想得到视频文件的持续时间。我找到了。现在我试图编译一个简单的程序,但我认为它在库中失败了。我尝试将共享和开发都包括在内,但都会失败。() 这是我的专业文件: TEMPLATE = app CONFIG += console CONFIG -= app_bundle CONFIG -= qt SOURCES += main.cpp INCLUDEPATH += C:\programming\ffmpeg-2013

我在windows上使用Qt5.0.2和MingW4.7

我正在研究C++程序,我想得到视频文件的持续时间。我找到了。现在我试图编译一个简单的程序,但我认为它在库中失败了。我尝试将共享和开发都包括在内,但都会失败。()

这是我的专业文件:

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;
}
#包括
使用名称空间std;
外部“C”{
#包含//必需的标题
#包括
}
int main(int argc,字符**argv){
av_register_all();//有问题的库调用
返回0;
}
如此简单的计划将有两个结果:

  • 程序运行,但如果调用“av_register_all()”会崩溃
  • 它只是告诉我他找不到图书馆
  • 有人能告诉我我做错了什么吗?或者给我一个提示?我真的找不到很多关于这个的好文档


    提前感谢!

    如下所示配置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\u 32\bin\
    复制以下一些库:

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

    不确定,但您可能想签出-您的路径中可能没有所需的dll。非常感谢!!它有效!现在我正在尝试获取持续时间。它适用于MP4文件,但不适用于AVI、FLV、WMV…您知道我哪里出错了吗?我使用avformat_open_输入(&pFormatCtx,filename,NULL,NULL)和pFormatCtx->duration;