在Windows上将ffmpeg与qtcreator集成

时间:2015-06-26 07:19:14

标签: windows qt ffmpeg

我正在简单的应用程序只是在qt项目ffmpegexample av_register_all中调用ffmpeg main.cpp但是我收到以下错误:

  

main.obj:-1:错误:LNK2019:未解析的外部符号   _av_register_all在函数_main

中引用

我的.pro文件如下:

QT       += core

QT       -= gui


QMAKE_CXXFLAGS += -D__STDC_CONSTANT_MACROS

INCLUDEPATH = -I D:/ffmpeg/dev/include

LIBS += -LD:/ffmpeg/shared/bin
LIBS += -LD:/ffmpeg/dev/lib

TARGET = ffmpegexample
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

包括LIBS和DLL以及来自this位置的ffmpeg static / dev的标头。

我的主要文件如下:

 #include <QCoreApplication>
 extern "C" {
 #include <libavutil/imgutils.h>
 #include <libavutil/samplefmt.h>
 #include <libavutil/timestamp.h>
 #include <libavformat/avformat.h>
 }

 int main(int argc, char *argv[])
 {
 QCoreApplication a(argc, argv);

 av_register_all();

 return a.exec();
 }

还运行qmake来生成Makefile.debug 并且还复制了项目main.cpp所在的文件夹中的所有dll和.libs 但这也没有帮助 我收到了错误:

  

main.obj:-1:错误:LNK2019:未解析的外部符号   _av_register_all在函数_main文件中引用未找到main.obj

不明白为什么main.obj没有生成

此致 Mayank

1 个答案:

答案 0 :(得分:0)

我在项目中的内容是:

INCLUDEPATH += $$(FFMPEG_DEV_PATH)\include
LIBS += -L$$(FFMPEG_DEV_PATH)\lib -lavformat -lavcodec -lavutil -lswscale -liconv

以避免您遇到的错误