如何使用cygwin编译 ffmpeg

来源:互联网 发布:制作mv软件 编辑:程序博客网 时间:2024/05/14 17:00

1)下载cygwin,本来想下载个最新的版本,在官网上找了下,全是英文的,又搜了google,就找到这个了http://download.csdn.net/source/2988856

2)下载安装mingw后,运行在安装目录下的\MSYS目录下的msys.bat。,我的是D:\MinGW32\MSYS\msys.bat。

3) ffmpeg0.6的官方下载地址为:ffmpeg-0.6.tar.bz2,解压出来。也可以从http://download.csdn.net/source/2988907 这里下载。

这也是在一篇博客上看到的。

4)然后在mingw的控制台中进入ffmpeg源码目录,并执行命令:./configure --enable-memalign-hack  生成编译时所需的Makefile文件。然后执行 make 命令,就可以生成相应的exe文件,如ffmpeg.exe、 ffplay_g.exe、 ffmpeg_g.exe 等。

5)因为我要.dll库,所以执行命令如下:

./configure --disable-static --enable-shared --enable-small --enable-memalign-hack --disable-encoders --disable-decoders --enable-decoder=h264 --enable-sse --enable-ssse3 --enable-mmx

 

6)然后就是使用这些库了,avformat-52.lib,avformat-52.dll等等;

 

7)使用过程中出现一些问题如下:

fatal error C1083: 无法打开包括文件:“inttypes.h”: No such file or directory

fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory

 

vs2008 里面没有这两个头文件,在google上下载了,放在libavutil下;

 

然后又出现一些错误:

error C3861: “UINT64_C”: 找不到标识符
打开common.h,顶部添加:
#ifndef INT64_C
#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)
#endif

 

就可以使用了。

 

参考文献:

1)http://www.qingfengju.com/default.asp?log_Year=2011&log_Month=8

2)http://blog.csdn.net/jinhaijian/article/details/5875771

3)http://zhaostudy2.blog.163.com/blog/static/13535020520110179271153/

4)http://bbs.rosoo.net/thread-13286-1-1.html

0 1
原创粉丝点击