用VS2013编译FFMPEG232

若是只是拿来使用,网上有现成的SDK。但我是想深刻研究FFMPEG代码,又不熟悉linux开发环境,所以须要编译一个在windos平台下能用VS单步调试的FFMPEG,网上现有资料大部分都是基于很老的版本,不断摸索,终于成功了。html

之因此选择VS2013,是由于VS2013支持大部分C99的特性,不须要改动代码,也不须要使用C99转C89的工具。linux

MinGW和yasm是绕不过去的,由于须要使用MinGW来生成config.h,而ffmpeg的汇编语法和VS的不同,所以须要yasm。函数


具体步骤:工具

1. 下载FFMPEG源码,下载地址:http://ffmpeg.zeranoe.com/builds/ui

2. 下载MinGW安装器,下载地址:http://www.mingw.org/;下载完成后安装,安装完成后点运行,标记上如下几项:spa

而后在Installation菜单下点击Apply Changes(mingw32-gcc-g++不用选择);.net

3. 下载yasm,下载地址: http://yasm.tortall.net/ ;下载后更名为yasm.exe,复制到C:/MinGW/msys/1.0/bin目录下;debug

4. 配置C:/MinGW/msys/1.0/msys.bat,在此文件的最前面(@echo off以后)添加一行以下内容:调试

call "D:\Program Files(x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat" (依实际安装路径修改路径);orm

5.重命名 C:/MinGW/msys/1.0/bin/link.exe 为link_renamed.exe (依实际安装选择路径),这一步是防止这个link.exe与vc的link.exe发生冲突,编译完成后可修改回来;

6. 配置编译,双击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

等待配置完成返回;

7. 输入 make all 编译;

8. 输入make install安装。

完成,此时生成的头文件及库已经在ffmpeg源代码下的vs2013_build目录下,使用这个库,便可在VS下单步进入FFMPEG函数内部。

参考资料:

http://ffmpeg.org/platform.html#Microsoft-Visual-C_002b_002b-or-Intel-C_002b_002b-Compiler-for-Windows

http://www.cnblogs.com/xylc/p/3683203.html

相关文章
相关标签/搜索