使用 msvc2017编译ffmpeg x86版本动态库,编译的动态库能够在低版本上使用,本人测试过vs2010。下面是我编译好的的库,需要的可以下载:
ffmpeg-4.3.2-msvc2017-x86下载链接: https://pan.baidu.com/s/1wfjzZ98iB-YzXThJaa28Hw 提取码: 99xp
libx264下载链接: https://pan.baidu.com/s/1aCu-ILHdIV5vXMFGcliKCQ 提取码: rbgw
CSDN下载链接:
ffmpeg 运行库https://download.csdn.net/download/lxwyw10902/53241297x264运行库https://download.csdn.net/download/lxwyw10902/53248774
编译前需要安装以下工具:
1、安装msys
2、yasm-1.3.0-win32
3、vs2017
编译步骤:
1、下载最新的ffmpeg源码,https://github.com/FFmpeg/FFmpeg.git,本次编译的是n4.3.2版本
2、 打开VS2017命令行工具,可以到开始菜单中找,如果要编译64位版本就打开64位的命令行工具,
3、使用刚才打开的命令行工具打开msys,进入msys安装目录,执行msys.bat会进入msys的运行环境
4、添加yasm路径,我的yasm安装在D:/yasm-1.3.0-win32
export PATH+=$PATH:/d/yasm-1.3.0-win32
5、添加 libX264 库路径,必须包含libx264.lib文件(由于编译的x264动态库名称为libx264.dll.lib,将其改名为libx264.lib,否则会报错),如果不需要libx264,可以跳过该步骤
export INCLUDE="$INCLUDE;D:\\libx264"
export LIB="$LIB;D:\\libx264"
6、进入ffmpeg源码目录并配置,如果不需要libx264,可以删除--enable-libx264选项
./configure --enable-libx264 --enable-gpl --toolchain=msvc --enable-shared
7、编译,由于安装的vs2017是中文,会在config.h文件中添加中文字符,编译前可以打开config.h文件删除自动生成的中文字符,防止字符警告
make -j8
8、安装,执行安装指令后,程序会被安装到msys安装目录下的local目录中
make install
9、由于vs2010没有inttypes.h,如果使用vs2010调用库,需要将libavutil/common.h中#include <inttypes.h>改成 #include <stdint.h>
#if _MSC_VER > 1600 #include <inttypes.h> #else #include <stdint.h> #endif