windows下ffmpeg编译

今天花了一天时间在编译上,主要是编译出来的dll调用会抛异常(0xc0000005).

首先下载新版ffmpeg,http://ffmpeg.mplayerhq.hu/,我下载的版本为0.8.11。

编译的环境主要是msys + mingw。这里有个配置好的http://code.google.com/p/msys-cn/wiki/ChapterInstallation。不过其gcc编译出来的dll调用时会抛出异常,后面会替换其gcc。

     还会用到其他一些东西,譬如pthreads,ftp://sourceware.org/pub/pthreads-win32。yasm,还有这个编译要用到,需要保存在系统环境目录下。

    将ffmpeg拷贝到msys的home下,通过msys进入ffmpeg目录。

    首先是配置:$./configure --enable-shared --enable-memalign-hack

    下面执行$make和$make install

    到这里就可以得到编译好的lib,dll,exe.

    现在就可以将lib和dll在vs2008下应用了,不过提示'UINT64_C'标识符不认识,在config.h后面添上几行 

#ifndef INT64_C 
#define INT64_C(c) (c ## LL) 
#define UINT64_C(c) (c ## ULL) 
#endif

下面就可以调用ffmpeg了,当然调用C函数需要加上extern "C"

e.g

#include "config.h"

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


到这里,编译不会出问题,不过运行时候会跳出个异常对话框。

这个问题是因为gcc版本不对,我也试过用网上介绍的gcc-core-4.2.1-sjlj-2.tar.gz,并没有作用,

所以我使用了tdm-gcc,http://tdm-gcc.tdragon.net/,这里用的版本是4.6.1,

安装之后将myys/mingw下对应的文件覆盖即可。

重新编译一次,就可以得到需要的文件。

这里有个编译好的版本,可以直接下载:

http://download.csdn.net/detail/dajjnan/4286027


     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值