在linux下编译ffmpeg比较简单,但在windows下,ffmpeg没有使用Cmke工具进行编译配置,所以需要下载安装msys64,模拟在linux下进行编译,先按安装好 msys64.然后
可以按以下几步进行
1.在cmd中运行下面其中一个命令设置x86或者x64的环境
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat amd64 (x64)
或
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86 (x86)
2.编辑C:\msys64\msys2_shell.cmd,将其中的:
rem set MSYS2_PATH_TYPE=inherit
“rem”注释删除掉,成为:
set MSYS2_PATH_TYPE=inherit
在该cmd窗口中运行c:\msys64\msys2_shell.cmd -mingw32 打开MSYS2
使用 which cl,which link 命令可以查看当前的编译环境
进入源码目录,运行配置脚本:
./configure --toolchain=msvc --arch=x86 --enable-yasm --enable-x86asm --enable-static(--enable-shared) --disable-static --disable-programs --enable-cross-compile --target-os=win32 --extra-cflags="-MD -D_WINDLL" --extra-ldflags="-APPCONTAINER:NO -MACHINE:x86" --prefix=host_x86
./configure --toolchain=msvc --enable-shared --disable-ffplay --disable-ffprobe --prefix=host_x86
make
make installl
如果你已经编译过64位版本,请先执行make distclean 清除一下,不然会报“Could not create temporary library”错误