原由:
Windows 下,编译开源源代码一直是个让人头疼的问题。
也用过 vcpkg,觉得不是很理想。
不透明,也很复杂。
vcpkg 为了跨平台,将编译脚本改的面目全非。
想按照自己的想法,进行查看、修改代码,都比较麻烦。
ffwin:
一、特点:
1、透明:不修改开源代码的编译脚本,除非编译不通过的时候,给编译脚本打 patch。此类情况较少;
2、公开:不隐藏任何编译细节;有什么错误,会立即提示,停止编译;
3、简单:都是使用简单的 cmd 批处理文件,来编译开源代码。自己完全可以按照示例修改,或添加编译新的开源代码库;
4、调试:默认都是使用 cmake 编译开源代码。生成 VS2022 的编译工程文件 sln。便于打开工程进行查看、编译,调试代码;
5、效率:使用 cmake 的 parallel 并行编译开源代码。速度超快,媲美 ninja 编译速度;
6、类型:编译的都是 vs2022 MT 类型静态库。有了静态库,想生成动态库也就比较容易了。
7、小巧:整个编译系统,大小仅 1M 左右。都是些 cmd 文件。
二、使用 scoop 进行开源源代码编译工具的安装;
1、cmake、ninja、go、cuda、rust、perl、nasm、yasm、python、git、llvm,等等编译工具,统一都由 scoop 安装管理;
2、有的开源代码,需要 gcc 编译,所以需要用 scoop 安装 msys2。
3、安装编译工具,命令行执行 scp x64 或者 scp x86 就可以了。按照你的需要,进行x86、x64 平台编译工具的安装;
4、安装编译工具和下载源码,都需要科学上网。proxy.cmd 已经配置好了,需要按照你自己的系统,修改代理地址和端口;
5、执行安装前,必须先配置好 proxy.cmd!必须先配置好 proxy.cmd!必须先配置好 proxy.cmd!重要的事情,说三遍。
6、当然,编译源代码前,VS2022 也必须要安装好了。
三、编译开源代码:
1、双击 zx86.cmd / zx64.cmd 就可以了。
2、scoop 安装的编译工具是 x64 类型,那就执行 zx64.cmd;scoop 安装的编译工具是 x86 类型,那就执行 zx86.cmd;
3、自动编译开源代码。下载源码、编译,自动完成;
4、ffwin,示例中,编译了将近 80 个常用开源代码库;
5、ffwin,编译成功 ffmpeg for windows。这也是这个软件名称的来源;
6、自己可以按照已经的示例添加编译新的开源代码库;
四:目录说明:
1、vs2022\source : 存放源代码目录.
2、vs2022\scoop : scoop 软件目录. 编译工具也在这里. 由 scoop 统一管理.
3、vs2022\vsbuild : vs2022 编译临时目录.
4、vs2022\vssdk : vs2022 sdk 安装目录.
五:文件说明(如果你想添加自己的编译开源源代码库):
1、src\daddr.ini : 开源源代码的网络地址(可以添加自己的开源源代码地址);
2、src\vcmake.cmd : cmake 方式编译开源源代码;
3、src\buildgcc.cmd : gcc 方式编译开源源代码;
4、src\patch : 存放开源源代码的 patch 文件;
5、src\001.* --- 200.* : 开源源代码的批处理文件(可以按照这些示例,添加自己的);