没得话讲,先在官网下载对应的源码,下载dev/文件夹下的源码和静态链接库  ,下载/shared文件夹下的动态链接库

官网地址:https://ffmpeg.zeranoe.com/builds/win64/

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1.首先在vs2017下新建一个console项目

ffmpeg-4.1.1-win64-dev在vs2017的搭建 随笔 第1张

2.设置工程的属性

 

ffmpeg-4.1.1-win64-dev在vs2017的搭建 随笔 第2张

 

3.添加include头文件目录

 

ffmpeg-4.1.1-win64-dev在vs2017的搭建 随笔 第3张

 

4.然后再添加静态链接库的包含目录

 

ffmpeg-4.1.1-win64-dev在vs2017的搭建 随笔 第4张

 

5.添加静态库的名字

 

 

ffmpeg-4.1.1-win64-dev在vs2017的搭建 随笔 第5张

这里我给出静态链接库名

avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib postproc.lib
swresample.lib swscale.lib   6.之后再到ffmpeg-4.1.1-win64-dev\examples\目录下随便拷贝一个实例 到新建的工程中去,我将源码拷贝到主函数所在的文件中;如下图所示 ffmpeg-4.1.1-win64-dev在vs2017的搭建 随笔 第6张     7.在这里注意,要以C的方式编译头文件<libavcodec/avcodec.h>,否则c++编译器会报错 extern "C"
{
#include <libavcodec/avcodec.h>
}

 

还有一点要注意,就是将源码中的fopen()函数全部改成fopen_s();这是编译器提醒的所以  fopen_s();

ffmpeg-4.1.1-win64-dev在vs2017的搭建 随笔 第7张

我们可查看fopen_s()的源码,发现如图

所以fopen_s(&f,filename, "w") 相应的该即可

 

8.之后编译我们所建立的工程,发现如下

这是因为缺少动态链接库的原因,毕竟使用动态链接库有很多好处

ffmpeg-4.1.1-win64-dev在vs2017的搭建 随笔 第8张

 

10.将shared目录下的文件拷贝到我们所新建的工程中的debug目录下,

 

ffmpeg-4.1.1-win64-dev在vs2017的搭建 随笔 第9张

ok,到此为止,工程建立完毕,可以学习ffmpeg的源码了

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄