1. 前言
在文章《使用VS2017在win10 x64上编译调试FFmpeg(附源码和虚拟机下载)》中,我们在win10+VS2017的环境下基于开源项目ShiftMediaProject完成了FFmpeg源码调试环境的配置。在win7+VS2015的环境下,ShiftMediaProject配置过程和win10+VS2017下类似,但编译问题会更多一些。经过一番排查,将编译问题解决后,即可进行源码调试。
2. 配置过程
2.1 下载ShiftMediaProject
下载ShiftMediaProject的过程,可参考《使用VS2017在win10 x64上编译调试FFmpeg(附源码和虚拟机下载)》。可以直接复用已经下载好的ShiftMediaProject源码包。进行安装操作,这里不再赘述。
2.2 解决编译错误
直接在win7上使用VS2015编译上述ShiftMedia,会出现编译错误,下面逐个解决。
2.2.1 未找到方法[MSBuild] NormalizePath
原因可能是MSBuild版本不一致,导致某些MSBuild函数找不到,做等效修改即可。
解决方法:
修改 ShiftMediaProject\source\VSNASM\nasm.targets 文件,修改前:
修改后:
2.2.2 未定义标识符DXVA_PicParams_VP9
原因是代码中检测了系统类型,win7系统下,没有此结构的定义,相关函数也不会被使用。
解决方法:
使用宏关闭不使用的定义和引用。
2.2.3 未找到 stddef.h 等头文件
原因是 Windows SDK 版本安装不完全,需要安装对应的SDK版本10.0.10240.0。在以下路径查看已安装的SDK版本:
C:\Program Files (x86)\Windows Kits\10\Include\
安装方法比较简单,可以通过VS安装包修改安装,也可以通过微软官方的SDK安装工具安装,这里不再赘述。
3. 下载
3.1 可成功编译的源码包下载
关注公众号Qt未来工程师,后台回复 win7 vs2015 FFmpeg调试源码包 获取下载地址。
3.2 可直接调试FFmpeg的虚拟机下载
关注公众号Qt未来工程师,后台回复 win7 vs2015 FFmpeg调试虚拟机 获取下载地址。
4. 结语
至此,win7或win10平台上的FFmpeg源码调试环境均已搭建完成,源码调试的准备工作已全部完成。