一. 首先参照下面的链接配置和编译
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文件,注释掉其中一行,如下图所示:

本文提供了在VS2017环境下编译FFmpeg的步骤,包括配置和编译过程。同时,列举了可能出现的问题,如libass的.asm文件编译失败、WinSDK版本不匹配以及头文件路径缺失等,并给出了具体的解决方法,如调整环境变量、修改项目配置和宏定义等。此外,还解决了ffplay和ffmpeg编译时的错误,涉及对资源文件的修改。
2979

被折叠的 条评论
为什么被折叠?



