我在 Windows 上使用 Qt 5.0.2 和 Mingw 4.7。
我正在开发一个 c++ 程序,我正在尝试获取视频文件的持续时间。我找到了ffmpeg。现在我尝试编译一个简单的程序,但我认为库失败了。我尝试将 shared 和 dev 都包含在内,但它们都会失败。(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;
}
像这样简单的程序将有两个结果:
- 如果我调用“av_register_all()”,程序会运行但会崩溃
- 它只是告诉我他找不到图书馆。
有人可以告诉我我做错了什么吗?或者甚至给我一个提示?我真的找不到很多关于这个的好文档。
提前致谢!