一、Win10 64bit编译环境的建立
1)从http://www.msys2.org/下载 msys2-x86_64-xxx.exe
2) 安装msys2到默认路径 C:msys64
3) 运行MSYS2 w64
4)执行 pacman -Syu 更新系统当出现提示时,选择y
5) 当窗口关闭时,重新打开msys2 w64 环境,如步骤3
6)执行 pacman -Su 当出现提示时,选择y
二、安装其他组件
1)pacman -S make //安装make命令工具;
2)pacman -S diffutils //安装比较工具;
3)pacman -S yasm //安装yasm汇编语言编译器,ffmpeg使用SIMD汇报指令进行加速;
4)pacman -S mingw-w64-x86_64-gcc //64bit的mingw编译器;
5)pacman -S mingw-w64-i686-gcc //32bit 的mingw编译器;
6)pacman -S mingw-w64-x86_64-gtk3 //64bit的gtk库;
7)pacman -S mingw-w64-i686-gtk3/32bit的gtk库;
8)pacman -S nasm//安装汇编语言编译器,x264使用SIMD汇报指令进行加速以上主要安装make工具,yasm,nasm汇编器(ffmpeg和x264使用了SIMD之类加速),gcc编译器,gtk图像框架。
三、下载pkg-config工具
pkg-config 工具在编译时可以根据xxx.pc查找对应的头文件和库。PC文件一般原理如下:
1. 把你的pc文件,直接放到/usr/lib/…默认路径下。
2. 把你的pc文件的路径写到PKG_CONFIG_PATH环境变量里。
比如,你可以在/etc/.bashrc的文件末尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/test/ffmpeg_build/lib/pkgconfig
export PKG_CONFIG_PATH
那么,pkg-config就会到/home/test/ffmpeg_build/lib/pkgconfig寻找*.pc文件。
一般pkg-config 通过 pkg-config xxx –libs –cflags xxx就是你要找的库,通过xxx.pc可以分析该库头文件和库文件在哪个目录比如查找 pkg-config libavcodec –libs –cflags
1)下载64bit工具
http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/pkg-config_0.23-2_win64.zip,
解压 pkg-config.exe to C:msys64mingw64bin。
2)下载32bit工具
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.26-1_win32.zip,
解压 pkg-config.exe to E:msys64mingw32bin。
四、拷贝intl.dll到以下文件夹
1)cd C:msys64mingw32bin
2)cp libintl-8.dll intl.dll
3)cd C:msys64mingw64bin
4)cp libintl-8.dll intl.dll
intl.dll 库是Windows系统很重要库,缺少它可能软件运行会异常。
五、下载源代码并编译
1)从ffmpeg官网下载源代码到C:mycode;
2)从 C:msys64中运行msys2_shell.cmd -mingw64;
3). cd C:mycodeffmepg;
4) 执行./configure (根据需要调整配置);
5)、make 即可
六、本文为了方便,写了一个脚本
1)编译64bit
a). 从 C:msys64中运行msys2_shell.cmd -mingw64;
b) ./ffmpeg-build-win release 64。
1)编译32bit
a).从 C:msys64中运行msys2_shell.cmd -mingw32
b) ./ffmpeg-build-win release 32
编译成功,还算比较顺利。
七、总结
在编译ffmpeg之前的要完成依赖库编译,也是同样方法的./configure,make,基本思想可以理解msys2环境是一个Linux环境,minGW工具链就是该Linux默认的编译工具链,按照Linux编译思路编译即可。
作者: 江海细流 | 来源:公众号——音视频技术充电营
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。