您的位置:首页 > 其它

ffmpeg编译(生成Windows或Win32平台dll, lib)

2012-02-03 09:28 417 查看
ffmpeg编译(生成Windows或Win32平台dll, lib)

介绍:本文简要介绍通过cygwin环境来编译生成ffmpeg。

包括解码组件libfaad与libopencore-amrnb的编译。

1)安装msys + mingw环境

具体安装过程可以看网上教程

我用的是:http://code.google.com/p/msys-cn/

假设装在d:/msys

如果需编译libfaad,还需装msysDTK-1.0.1.exe

需在msys.bat文件首行加入:call "D:/Program Files/Microsoft Visual Studio 8/VC/bin/vcvars32.bat"

2)下载最新ffmpeg源码

我用的是:ffmpeg-export-2009-12-22版(即:SVN-r20910-snapshot)

解压缩至e:/ffmpeg_r20910_win32

3)修改e:/ffmpeg_r20910_wm/common.h文件,如下:

#ifndef av_cold

//GCC on MinGW has bug on "cold" feature

//#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,3)

#if 0

3)按需下载各解码组件,如

faad2-2.7.zip  (AAC解码组件)

opencore-amr-0.1.2.tar.gz (amr解码组件)

新建e:/ffmpeg_r20910_wm/codecs目录,将组件放入其中

4)编译各解码组件

4.1)libfaad

解压缩faad2-2.7.zip,依次执行

autoreconf -ivf

./configure --enable-static --disable-shared --prefix=/mobile

make (编译时出错two or more data types什么的,不用管,libfaad.a已经生成)

make install

4.2)libopencore-amr

解压缩opencore-amr-0.1.2.tar.gz,依次执行

./configure --enable-static --disable-shared --prefix=/mobile

make

make install

5)编译ffmpeg

#!/bin/sh

./configure --enable-memalign-hack --prefix=/mobile --enable-libfaad --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-static --enable-shared --enable-gpl --enable-version3 --disable-zlib --disable-ipv6 --disable-debug --disable-ffplay --disable-ffmpeg
--disable-ffserver --disable-encoders --disable-network --disable-muxers --extra-ldflags="-L/mobile/lib" --extra-cflags="-I/mobile/include"

此命令太长,可以将命令写入到sh文件(如doConfigureWin32.sh)来执行。(出现libvdpau>=0.2提示,不用管)

make

make install

保留类似于avcodec-52.dll avcodec-52.lib的文件,删除其它。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows dll 平台 types gcc