在window编译ffmpeg遇到了很多问题。用了很多网络上的方法不过都失败了。我总结下自己成功编译的过程。
1、我的环境,window10 64位
2、vs2013
下载工具
1. 下载FFMPEG源码,下载地址:http://ffmpeg.zeranoe.com/builds/
2. 下载MinGW安装器,下载地址:http://www.mingw.org/
MinGW安装选项:
mingw-developer-toolkit
mingw32-base
mingw32-gcc-g++
msys-base
3.下载yasm(根据mingw版本的位数下载,这里下载32位的),下载地址: http://yasm.tortall.net/
4. 配置C:/MinGW/msys/1.0/msys.bat,在此文件的最前面(@echo off之前)添加一行如下内容:
call "D:\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat" (依实际安装路径修改路径);
5. 配置编译,双击msys.bat,转到FFMPEG源代码根目录下,可运行 ./configure --help查看编译配置选项,我使用的选项为:
静态库:./configure --enable-static --prefix=./vs2013_build --enable-debug --toolchain=msvc
动态库:./configure --enable-shared --prefix=./vs2013_build --enable-debug --toolchain=msvc
------------------注:
默认是enable-yasm的,如果不想要汇编优化可以--disable-asm禁用所有汇编优化
对于生成release模式的库,可以--disable-debug去除debug信息
如:静态库:./configure --enable-static --prefix=./vs2013_build_release --disable-debug --toolchain=msvc--enable-memalign-hack
对于生成debug模式的库,似乎按照最上面的方式也是可以的,保险起见为了能步进到任何函数,设置如下:
./configure --enable-static --prefix=./vs2013_build_noyasm --enable-debug --toolchain=msvc --disable-yasm --disable-memalign-hack
-----------------
等待配置完成返回,时间大概3分钟左右;
6. 输入 make all 编译;
7. 输入make install安装。
完成,此时生成的头文件及库已经在ffmpeg源代码下的vs2013_build目录下.