VS2015 编译 ffmpeg静态库 (不依赖mingw的库)

1.

首先下载ffmpeg2.6.9

地址如下:

链接:https://pan.baidu.com/s/1yV-rFJ3PruXMSapxJbHXww 
提取码:y8dj 

2.

下载msys+mingw64

地址如下:

链接:https://pan.baidu.com/s/1J5nnLyzYCWOc5sOY03bthg 
提取码:3j0f 

3.

修改msys.bat

第一行增加如下:

call "D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"

64位则增加如下:

call "E:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat”

这个路径需要去你的VS2015安装路径里面找

4.

去开始菜单找到VS2015的工具,“VS2015 x86 本机工具命令提示符”

64位则如下:

“VS2015 x64 本机工具命令提示符”

5.

切换到msys.bat目录下,并运行该脚本,会弹出msys的命令窗口

6.

执行

./myconfig_vs2015.sh其内容如下:

./configure --arch=x86 --toolchain=msvc --enable-yasm --host-os=win32  --disable-decoders --disable-encoders --enable-static --enable-encoder=mjpeg --enable-decoder=h264 --enable-decoder=mjpeg --enable-decoder=mpeg4 --enable-parser=h264 --enable-parser=mpeg4video --enable-parser=mpegvideo

64位则如下:

./configure --arch=x86_64 --toolchain=msvc --enable-yasm --host-os=win64  --disable-decoders --disable-encoders --enable-static --enable-encoder=mjpeg --enable-decoder=h264 --enable-decoder=mjpeg --enable-decoder=mpeg4 --enable-parser=h264 --enable-parser=mpeg4video --enable-parser=mpegvideo

7.

修改config.mak文件

删除其中的

-Dsnprintf=_snprintf

-Dsnprintf=avpriv_snprintf

-D_snprintf=avpriv_snprintf

-Dvsnprintf=avpriv_vsnprintf

否则出如下错误:

C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt\stdio.h(1419):

note: 命令行参数: 参见前面的“vsnprintf”定义

C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt\stdio.h(1421):

fatal error C1189: #error:  Macro definition of vsnprintf conflicts with Standa

d Library function declaration

8.

修改compat\msvcrt\snprintf.c

添加#include "snprintf.h"

否则出如下错误:

CC libavutil/../compat/msvcrt/snprintf.o

snprintf.c

libavutil/../compat/msvcrt/snprintf.c(41): error C4013: “avpriv_vsnprintf”未定

义;假设外部返回 int

make: *** [libavutil/../compat/msvcrt/snprintf.o] Error 2

9.

修改ffmpeg.c

文件中#elif HAVE_KBHIT 改成#elif 0 //HAVE_KBHIT,有两处,都需要该

否则出如下错误

ffmpeg.c(395): error C2039: “_cnt”: 不是“_iobuf”的成员

C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt\corecrt_wstdio.

h(26): note: 参见“_iobuf”的声明

10.

执行make

11.

会有很多警告,忽略,别在意

12.

执行make install

13.

切换到/local 文件夹下,里面有编译好的静态库,头文件,以及可执行程序。

注意:不要用VS2008一下编译,VS2010没试过,VS2008标准是C98标准,好多语法不识别,VS2015用的C99标准,就可以了。编译出的库要在VS2015中使用,不要用其他版本的VS

另外附录已经编译好的库的地址:

链接:https://pan.baidu.com/s/145uMiRjKleK_GJDK1-scuA 
提取码:6f75 
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值