windows环境下编译ffmpeg
编译环境:xp+msys+mingw
由于ffmpeg是linux下面的开源项目,源代码中和VC中的c/c++编译期是不兼容的,所以必须在windows上配置一个linux的编译环境,编译成二进制的dll动态库,然后在vc中链接这个dll库,从而实现windows平台上的基于ffmpeg的开发。msys+mingw正好适应我们的要求。
1.建立msys+mingw编译环境
下载地址:
http://sourceforge.net/project/showfiles.php?group_id=2435
1)下载 MSYS Base System/msys-1.0.11/MSYS-1.0.11.exe 按照默认安装即可,当然目录是可以改的。假设安装目录为c:/msys,下面所使用的c:/msys都注意替换为自己的安装目录。
2)下载MSYS bash /bash-3.1.17-2 /bash-3.1.17-2-msys-1.0.11-bin.tar.lzma 解压后将bin文件夹中的所有文件复制到c:/msys/bin目录下,覆盖sh.exe
3)下载GNU Binutils /Previous Release_ binutils-2.17.50 /binutils-2.17.50-20060824-1.tar.gz
下载GCC Version 3 /Previous Release_ gcc-3.4.5-20060117-1/目录下的gcc-core-3.4.5-20060117-1.tar.gz和gcc-g++- 3.4.5-20060117-1.tar.gz
下载MinGW API for MS-Windows /w32api-3.11 /w32api-3.11.tar.gz
下载MinGW Runtime /mingw-runtime-3.14 /mingw-runtime-3.14.tar.gz
这些文件下载好了之后,同一解压到C:/msys/mingw
4)由于我们最终是要编译的动态库是可以用vc来链接的,所以我们需要.lib文件,这就需要vc的lib命令来完成。
首先找到vc安装目录下的vcvars32.bat文件,如我的路径是C:/Program Files/Microsoft Visual Studio/VC98/Bin/vcvars32.bat
修改c:/msys目录下的“msys.bat”文件,注意用支持unix文本工具的编辑器打开,我用的是UE,在文件的最后加上一行
call "C:/Program Files/Microsoft Visual Studio/VC98/Bin/vcvars32.bat" 注意替换成自己的目录。
5)系统整合
复制c:/msys/etc/fstab.sample为c:/msys/etc/fstab,用文本编辑器打开c:/msys/etc/fstab编辑。(支持Unix风格的编辑 器), 把下面这行:
c:/mingw /mingw
改为:
c:/msys/mingw /mingw
完成以上步骤,MSys+MinGW系统就配置完成了
2.获取ffmpeg源码
下载地址http://www.bairuitech.com/html/ruanjianxiazai/20071006/61.html这里面还包含了x264,暂时不考虑x264的编译。
3.编译ffmpeg
打开msys,出现的是一个命令行窗口,支持基本的linux命令。需要提一下的是如何访问windows下的目录,比如我们要进入c盘目录的话,执行命令"cd /c/",其实就可以把各个磁盘看成linux根目录下的一个文件夹。
进入ffmpeg的目录,进行配置,要编译出动态库的话
./configure --prefix=/static --disable-shared --enable-static
配置完之后执行
make
make install
编译完成之后动态库就已经生成了.
更多推荐



所有评论(0)