windows下编译FFMPEG
- 编译环境
- 系统:windows10
- 编译器:vs2013
- 编译工具礼包:minGw+msys+c99conv.exe+c99wrap.exe+pr.exe+yasm (备注:当minGw中工具下载不完整时,可能缺乏coreutils组件中的pr.exe文件,所以须要下载该执行文 件。)
- 可能须要的DLL:iconv.dll,intl.dll,libiconv2.dll,libintl3.dll
- FFMPEG版本:3.2
- 下载地址
- ffmpeg官网:http://ffmpeg.org/
- ffmpeg git 地址 : git://source.ffmpeg.org/ffmpeg.git (注意:clone代码以前先在git命令行中设 置!!!:git config --global core.autocrlf false)
- MinGW : http://www.mingw.org/ ,运行下载的MinGW安装管理器,包含msys。假设安装好后 MinGW路径为:d:/MinGW ,则msys路径应为:d:/MinGW/msys 。将:d:/MinGW/bin和 d:/MinGW/msys/1.0/bin加到系统path环境变量中.
- yasm:http://yasm.tortall.net/ , 更名叫yasm.exe,复制到:d:/MinGW/msys/1.0/bin 目录下.
/**********************************************************************
若是是vs2013 以上版本 ,则下面两个(5,6)不须要安装
*********************************************************************/
- c99-to-c89 : https://github.com/libav/c99-to-c89/downloads , 将c99conv.exe和c99wrap.exe复制 到:d:/MinGW/msys/1.0/bin 目录下.
- C99头文件inttypes.h和stdint.h :将此两个 头文件复制到: D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include 目录下(自行修改 为本身的安装目录)
- 配置msys.bat
用记事本打开msys.bat文件,在第一行加入:
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
call对应的目录为你的VC安装程序所在目录.
- 生成配置
管理员方式运行msys.bat,进入到FFMPEG源码目录(若是不是管理员方式,则采用make V=1时不能显示编译错误详情)。运行命令:
./configure --enable-shared --disable-static --toolchain=msvc --prefix=./vs2013_build耐心等待配置完成.
- 编译安装
采用make V=1 -j4 ;这样能够知道编译过程当中具体的错误,若是只用make,出了错误,你根本不知道为什么出错,这就是最大的坑,之因此用-j4,就是为了加速编译。针对出现的错误个人修改成:
- config.h编译条件须要修改成:
- #define _WIN32
- #define HAVE_IO_H 1
- #define HAVE_DIRECT_H 1
- common.h中加入
- #if _MSC_VER
- #define snprintf _snprintf
- #endif
- gdigrab.c中加入
- #pragma comment (lib,"User32.lib")
- #pragma comment (lib,"Gdi32.lib") 最后 执行make install,能够在vs2013_build目录下看到编译好的库文件和所需头文件了。
欢迎关注本站公众号,获取更多信息