我正在简单的应用程序只是在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
答案 0 :(得分:0)
我在项目中的内容是:
INCLUDEPATH += $$(FFMPEG_DEV_PATH)\include
LIBS += -L$$(FFMPEG_DEV_PATH)\lib -lavformat -lavcodec -lavutil -lswscale -liconv
以避免您遇到的错误