windows下编译ffmpeg库



--------------------
准备

--------------------

(1)win7 32位操作系统

(2)关闭所有杀毒软件:360,QQ电脑管家,小红伞,金山等

(3)VS2010安装目录:"F:\Program Files“

(4)MinGW安装目录:"F:\MinGW"



--------------------
1.安装MinGW:
--------------------
(1)下载地址 "http://www.mingw.org"
(2)安装时勾选 c compiler ,c++ compiler ,msys basic system和MinGW Developer ToolKi。
(3)我的安装目录在 "F:\MinGW"
(4)编辑"F:\MinGW\msys\1.0\msys.bat"文件,在最前面增加一行:


call "F:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"


----------------------
3.安装ffmpeg:
----------------------
(1)下载地址 "http://ffmpeg.org/"
(2)解压到 "F:\"


----------------------
4.下载Yasm:
----------------------
(1)下载地址 "http://yasm.tortall.net/" 注:要选择win32的。
(2)重命名"yasm-1.2.0-win32.exe" 为 "yasm.exe",并复制到 "C:\windows\System32\" 目录下。


----------------------
5.编译
----------------------
(1)以管理员身份运行 "F:\MinGW\msys\1.0\msys.bat"
$cd /f/ffmepg-1.1.3
$./configure --enable-shared --disable-static --enable-memalign-hack
$make
$make install

(2)生成的库在"F:\MinGW\msys\1.0\local\"目录下。


----------------------
6.设置vs2010工程
----------------------
(1)右击工程名->属性->配置属性->C/C++->常规->附加包含目录:
增加"F:\MinGW\msys\1.0\local\inlude"
(2)右击工程名->属性->配置属性->链接器->常规->附加库目录:
增加"F:\MinGW\msys\1.0\local\bin"
(3)右击工程名->属性->配置属性->链接器->输入->附加依赖项:
增加下面4项:
avcodec.lib
avformat.lib
swscale.lib
avutil.lib
注:这样可以不用在源文件中使用#pragma comment
(4)由于这些lib文件其实是对dll文件的引用。

所以需要将"F:\MinGW\msys\1.0\local\bin\"目录下的dll文件复制到工程目录下。

(5)由于vs2010不支持<inttypes.h>头文件。
去网上下载一份inttypes.h头文件,放到"F:\Program Files\Microsoft Visual Studio 10.0\VC\include"目录下。
(6)如果出现无法解析的外部符号,则可能的原因是:ffmpeg是标准C下的项目,如果按照.CPP的方式引用会有问题。
解决方法:更改头文件的包含方式


#ifdef __cplusplus
extern "C" {
#endif


  /*Include ffmpeg header file*/


#ifdef __cplusplus
}
#endif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值