一 VS2019安装
https://pan.baidu.com/s/1CtMOM5Zhu-HcHcj611edOg#list/path=%2F
密码 p668
二 菜单运行vs2019编译控制台
如果我们要build 32 位的程序,则使用
如果我们要build 64 位的ffmpeg,则使用 x64 Navite Tools Command Prompt for VS 2019
我们当前以32 位 为例,实现:
2.1 菜单运行 x86 Navite Tools Command Prompt for VS 2019
2.2 使用cl 编译源码
cl命令是Microsoft Visual C/C++编译器的一部分,用于编译C、C++和C++/CLI程序
2.2.1 打开 x86 Navite Tools Command Prompt for VS 2019 控制台
2.2.2 将msys64 解压后复制 到 D:\Ctool\msys64,本地使用的msys64 是免安装版,直接复制到你想要的目录下就好
然后测试发现不能使用,可能是版本太低了。
因此我们下载一个msys2的最新版本 msys2下载地址如下:
https://www.msys2.org/
然后还是安装到 D:\Ctool\msys64
2.2.3 然后回到 x86 Navite Tools Command Prompt for VS 2019 的控制窗口,然后进入到 D:\Ctool\msys64
2.2.4 然后执行命令 msys2_shell.cmd -mingw32
2.2.5 将 x86 Native Tools Command Prompt for VS 2019的运行环境共享给 mingw32控制台
然后再mingw32的控制台上要使用cl 命令 ,这时候再 mingw32 控制台上使用cl 命令,发现不能用,这是因为 mingw32 控制台 并没有共享 x86 Native Tools Command Prompt for VS 2019的运行环境,因此我们需要 将 x86 Native Tools Command Prompt for VS 2019的运行环境共享给 mingw32控制台。
改动方法:打开msys2_shell.cmd 脚本,使用文本打开
将 rem set MSYS2_PATH_TYPE=inherit 改为 set MSYS2_PATH_TYPE=inherit
意思是可以继承外部的环境变量
然后关掉 mingw32控制台,在x86 控制台上重新启动mingw32 命令:msys2_shell.cmd -mingw32
顺手改动一下 mingw32的 中文乱码,由于在vs2019中都是使用的GBK的编码,因此我们这里要将mingw32的编码也换成GBK的编码。
再次执行:
2.3 msys64 依赖的环境安装
pacman -S nasm
pacman -S yasm
pacman -S make
pacman -S cmake
pacman -S diffutils
pacman -S pkg-config
pacman -S git
安装的汇编工具,编译x264 和ffmpeg 时会用到
pacman -S nasm
安装的汇编工具,编译x264 和ffmpeg 时会用到
pacman -S yasm
项目编译工具,必须要安装
pacman -S make cmake
比较工具,ffmpeg configure 生成makefile 时用到
pacman -S diffutils
库配置工具,编译支持x264,x265时用到
pacman -S pkg-config
从版本库下载源码时用到
pacman -S git
在mingw32 控制台上执行第一个命令
由于国内网络的原因,链接不上
这时候可以改动一下网络源
先切换源,编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686
编辑 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64
编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch
然后 执行 pacman -Sy 更新源
2.4 使用msys64 编译x264源码
2.4.1 将x264 源码放置在 D:\Ctool\msys64\home 下
2.4.2 在 mingw32控制台执行
cd /home/x264
CC=cl ./configure --enable-shared
make -j16
make -j16 之后我们可以看到生成了 静态lib 和 动态dll
然后再make install ,可以看到 会将 x264的 lib ,bin,include 拷贝到 D:\Ctool\msys64\usr\local
至此,x264 编译完成
其中一个比较容易忽视的是x264.pc文件,实际上包含的信息是很多的:
那么这个有啥用呢?实际上在项目配置的时候只要找到这个 x264.pc就可以了。
2.5 使用vs2019的控制台编译fdk-aac源码
这里要注意的是fdk-aac的编译不需要用到 msys64,