ffmpeg的配置方法(vs2017)
1.右键项目名称->属性->c/c++->附加包含目录(include,即ffmpeg的*.h头文件所在的文件夹)以及:链接器->常规->附加库目录(lib ,即含*.lib的文件夹),
并把dll文件复制到项目的根目录下



添加后遇到了一个错误:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误(活动) E1696 无法打开 源 文件 “libavutil/avconfig.h” test D:\…\ffmpeg\libavutil\macros.h 28
去源码中查找,发现没有这个头文件所以得自己写一个:
/*avconfig.h*/
#ifndef AVUTIL_AVCONFIG_H
#define AVUTIL_AVCONFIG_H
#define AV_HAVE_BIGENDIAN 0
#define AV_HAVE_FAST_UNALIGNED 0
#endif
然后就编译成功了
接下来输出一下配置信息,看看有没有配置好
#include<iostream>
#include<stdlib.h>
#include<libavcodec\avcodec.h>
using namespace std;
int main() {
printf("%s\n" ,avcodec_configuration());
system("pause");
}
发现报错
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2019 无法解析的外部符号 “char const * __cdecl avcodec_configuration(void)” (?avcodec_configuration@@YAPBDXZ),该符号在函数 _main 中被引用 test D:\…\ffmpegtest\test\源.obj 1
因为这个库用c语言写,而我的项目是c++的,所以要进行预处理
如果出现这个报错:
严重性 代码 说明 项目 文件 行 禁止显示状态
警告 LNK4272 库计算机类型“x64”与目标计算机类型“x86”冲突 ffmpeg_development D:\ffmpeg\lib\avcodec.lib 1

把上面的debug旁边的x86改为x64
//完整代码
#include<iostream>
#include<stdlib.h>
//#include"pch.h"
extern"C"
{
#include<libavcodec\avcodec.h>
}
#pragma comment(lib,"avcodec.lib")
using namespace std;
int main() {
printf("%s\n" ,avcodec_configuration());
}
方法2:在VC++目录添加
方法3:添加环境变量
2022年 March 14日|20:08 
目录: 计算机, 音视频 标签:,ffmpeg, vs2017, 音视频
1条评论
自己回头看教程结果没看懂,,,重写了一下…