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