您的位置:首页 > 其它

Cygwin环境下ffmpeg的配置

2015-10-08 15:45 218 查看

Cygwin环境下ffmpeg配置

在VS下配置ffmpeg,雷霄骅老师在其《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频中详细介绍过了。在将其课程中那个简单的ffmpeg配置的例子移植到cygwin环境下,花费了好多时间。一直在拿图中的include、lib、.dll(windows平台下编译的)等在eclipse下配置。





gcc是不能直接编译使用windows下编译好的.dll等文件的。需要使用linux下编译后的ffmpeg的动态链接库等。



起初想把linux下编译好的ffmpeg的lib文件夹等直接拷贝到windows下,但是拷贝不了。所以只好在Cygwin下自己编译ffmpeg了。



下载linux下使用的ffmpeg源码,最新版本ffmpeg-2.7.2.tar.bz2。

解压缩。

tar–jxvf ffmpeg-2.7.2.tar.bz2

配置,生成Makefile

./configure--enable-shared --disable-yasm --prefix=/usr/local/ffmpeg

--enable-shared是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。--prefix设置的安装目录。





警告缺少pkg-config。pkg-config是向用户、向程序提供相应库的路径、版本号等信息的程序。

为以防万一,去cygwin下安装pkg-config。搜索,我选择了4个包进行安装。





重新配置,没有找不到pkg-config的警告了。





编译安装

make



make install



安装之后在/usr/local/ffmpeg会看到有三个目录

bin执行文件目录

lib静态,动态链接库目录

include编程用到的头文件



配置动态链接库

vi /etc/ld.so.conf

加入:/usr/local/ffmpeg/lib



为 FFmpeg 加入环境变量

vi/etc/profile

加入以下内容:

FFMPEG=/usr/local/ffmpeg

PATH加入:$FFMPEG/bin



使修改立即生效

source /etc/profile



执行

ffmpeg-version

打印如下信息。cygwin下编译安装ffmpeg成功。









在eclipse中配置ffmpeg

建立一个C++ 工程。



设置包含目录,可以直接写物理地址,也可以写相对地址“/usr/local/ffmpeg/include”。





示例程序用到的库是libavcodec.a,虽然全名是libavcodec.a,但是添加库时只需写avcodec就好了。

示例程序

#include <stdio.h>
#define __STDC_CONSTANT_MACROS

extern "C"
{
#include "libavcodec/avcodec.h"
};

int main(int argc, char* argv[])
{
printf("%s",avcodec_configuration());
printf("\nhello\n");
return 0;
}






配置好了。

参考链接

1、pkg-config的用法

http://www.cppblog.com/colorful/archive/2012/05/05/173750.html

2、《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频——VS下ffmpeg配置

http://blog.csdn.net/leixiaohua1020/article/details/47068015
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cygwin ffmpeg