使用 Microsoft Visual C++ 构建 libdav1d?

Build libdav1d using Microsoft Visual C++?

我已经成功 build it using MinGW

有没有办法使用 Microsoft Visual C++ 构建它?

我想将它与 FFmpeg 一起使用。我的 FFmpeg 及其所有依赖项都是使用 Visual C++ 编译的,所以我试图避免 possible problems caused by mixing MinGW and Visual C++ libraries.

看来我找到了可行的解决方案。

  1. 安装介子 (https://github.com/mesonbuild/meson/releases)
  2. 安装 NASM (https://www.nasm.us/)
  3. 将 Meson 和 NASM 添加到系统 PATH 变量
  4. 打开 Visual Studio 的 x64 本机工具命令提示符(构建 x64 版本)
  5. 应用以下命令:

git clone https://code.videolan.org/videolan/dav1d.git

cd dav1d

meson build

cd build

meson configure -Dbuildtype=release

meson configure -Ddefault_library=static

ninja

但由于未知原因,它生成的静态库扩展名为 .a 而不是 .lib。我认为这只是一个错字,重命名生成的库是安全的。

要生成共享库,请使用 meson configure -Ddefault_library=shared