windows下编译FFMPEG

  1. 编译环境
    • 系统: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
  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 目录下(自行修改 为本身的安装目录)
  3. 配置msys.bat
    用记事本打开msys.bat文件,在第一行加入:
    call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
    call对应的目录为你的VC安装程序所在目录.
  4. 生成配置
    管理员方式运行msys.bat,进入到FFMPEG源码目录(若是不是管理员方式,则采用make V=1时不能显示编译错误详情)。运行命令:
    ./configure --enable-shared --disable-static --toolchain=msvc --prefix=./vs2013_build耐心等待配置完成.
  5. 编译安装
    采用make V=1 -j4 ;这样能够知道编译过程当中具体的错误,若是只用make,出了错误,你根本不知道为什么出错,这就是最大的坑,之因此用-j4,就是为了加速编译。针对出现的错误个人修改成:
    1. config.h编译条件须要修改成:
      • #define _WIN32
      • #define HAVE_IO_H 1
      • #define HAVE_DIRECT_H 1
    2. common.h中加入
      • #if _MSC_VER
      • #define snprintf _snprintf
      • #endif
    3. gdigrab.c中加入
      • #pragma comment (lib,"User32.lib")
      • #pragma comment (lib,"Gdi32.lib") 最后 执行make install,能够在vs2013_build目录下看到编译好的库文件和所需头文件了。
相关文章
相关标签/搜索