相信很多windows系统开发者在做跟FFMPEG有关的项目的时候都有过很深的感触,那就是FFMPEG源码不能直接用VS工具直接打开并生成相应的lib或者DLL,且我们不能随意选择MTD、MD、MT、MTD四种中的任意一种运行库。搜索网上的资料,也是大多都是linux的编译方式,或者即使有windows的编译方式也是很难编译或者无法编译(反正我是试过好几种都编译不通过)。最后只能想办法,把FFMPEG源码转成VS可打开的工程,这样我们就可以随意的编辑修改FFMPEG源码了,同时也可以随意的生成我们想要的DLL或者LIB了。经过连续一周的努力,最终搭建了一套VS的FFMPEG源码工程,下面是工程的源码以及一些针对VS打开FFMPEG源码工程的工具配置。
一、编译支持工具配置
1、ysam、nasm安装
yasm和nasm的安装包我已经包含在源码工程中了,分别在H:\git\dlv_avcode_vs2017\tools下的VSYASM和VSNASM下,当然也可以去官网下载最新的(yasm:http://yasm.tortall.net/Download.html,nasm:https://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D)。根据系统位数安装nasm,要记住安装的目录。我这里安装目录分别为H:\git\tools\nasm和H:\git\tools\yasm。把nasm.exe和yasm.exe(这里要把VSYASM目录下的yasm-1.3.0-win32.