FFmpeg视频编解码库,无法解析的外部信号
Posted xianjian_x
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FFmpeg视频编解码库,无法解析的外部信号相关的知识,希望对你有一定的参考价值。
在编译FFmpeg相关项目时,可能会出现:
error LNK2019: 无法解析的外部符号 "int __cdecl avpicture_fill(struct AVPicture *,unsigned char const *,enum AVPixelFormat,int,int)" (?avpicture_fill@@YAHPAUAVPicture@@PBEW4AVPixelFormat@@HH@Z),该符号在函数 "bool __cdecl YV12ToBGR24_FFmpeg(unsigned char *,unsigned char *,int,int)" (?YV12ToBGR24_FFmpeg@@YA_NPAE0HH@Z) 中被引用
error LNK2019: 无法解析的外部符号 "void __cdecl sws_freeContext(struct SwsContext *)" (?sws_freeContext@@YAXPAUSwsContext@@@Z),该符号在函数 "bool __cdecl YV12ToBGR24_FFmpeg(unsigned char *,unsigned char *,int,int)" (?YV12ToBGR24_FFmpeg@@YA_NPAE0HH@Z) 中被引用
这种类似情况,在检查 包含目录、库目录、链接器输入和系统环境变量 均设置无误的情况下,包含的文件要写成以下形式:
extern "C"
#include <libavcodec\\avcodec.h>
#include <libavformat\\avformat.h>
#include <libswscale\\swscale.h>
#include <libavutil\\pixfmt.h>
#include <libavutil\\imgutils.h>
;
这种情况是因为,头文件中的函数定义在编译为 C 程序的文件中,而头文件是在 C++ 文件中不带 extern “C” 修饰符声明的。在此情况下,需要添加extern “C”修饰符。
参考:
问题解决:FFmpeg视频编解码库,无法解析的外部信号
以上是关于FFmpeg视频编解码库,无法解析的外部信号的主要内容,如果未能解决你的问题,请参考以下文章
FFmpeg视频编解码库,无法解析的外部符号找不到inttypes.h文件的问题