一. 首先参照下面的链接配置和编译
FFmpeg在VS2017下的编译_vs2017 ffmpeg源码编译_鱼儿-1226的博客-CSDN博客
vs2019编译ffmpeg源码为静态库动态库【完整步骤、亲测可行】_ffmpeg vs_令狐掌门的博客-CSDN博客
二. 下面几个可能遇到的问题和解决方法
1. 如果libass项目里面的.asm文件编译失败,删除前面环境变量里面配置的YASMPATH和NASMPATH,直接把yasm.exe和nasm.exe拷贝到C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC里面(具体看自己的vs的安装路径),然后重新编译
2. 如果编译libx264和libx265是,提示WinSDK使用不对导致的失败,需要手动修改libx264bit.vcxproj和libx265bit.vcxproj,改成正确的winSDK版本号,如下图所示:
3. 如果提示某个.h文件找不到,需要自己手动在项目配置里面添加包含文件的的路径
三. libavcodec等编译成动态库,并使用静态的依赖库,可能会遇到一些问题,解决办法如下:
1. libavcodec在项目属性里面,删除X264_API_IMPORTS宏,并增加ILBC_STATIC_DEFINE宏,如下图所示,否则会提示_imp_xxx函数找不到。
2. libavfilter项目属性里面,增加FRIBIDI_LIB_STATIC宏,如下图所示,否则会提示_imp_xxx函数找不到。
3. 如果ffplay和ffmpeg编译出现如下错误:
打开fftools.rc文件,注释掉其中一行,如下图所示: