C++ VSCode CMake VCPKG:未启用清单

C++ VSCode CMake VCPKG: manifests are not enabled

我正在尝试构建 Supertux-C++-Project like in this Video

我安装了适用于 C++ 和 CMake 的 VS Code 扩展,并且我正在使用 GCC 编译器。我克隆了 VCPKG-Repository 并执行了 bootstrap-vcpkg.bat。之后,我 运行 ./vcpkg integrate install 收到消息:

Applied user-wide integration for this vcpkg root.

.vscode\settings.json 看起来像:

{
    "cmake.configureSettings": {
        "CMAKE_TOOLCHAIN_FILE": "D:/_programming/_repos/vcpkg/scripts/buildsystems/vcpkg.cmake",
        "VCPKG_BUILD": "ON",
    }
}

然后我在我的 Supertux-Project-Folder 中创建了一个 vcpkg.json 文件并插入了必要的库:

{
    "name": "supertux-example",
    "version": "0.0.1",
    "dependencies": [
        "sdl2",
        "sdl2-image",
        "openal-soft",
        "curl",
        "libogg",
        "libvorbis",
        "freetype",
        "glew",
        "boost-date-time",
        "boost-filesystem",
        "boost-format",
        "boost-locale",
        "boost-system"
    ]
}

现在我尝试使用以下命令访问所有这些库:D:\_programming\_repos\vcpkg\vcpkg.exe install --triplet "x64-windows" --binarycaching 但我收到以下错误消息:

Warning: manifest-root detected at D:/_programming/cpp/supertux, but manifests are not enabled.
If you wish to use manifest mode, you may do one of the following:
    * Add the `manifests` feature flag to the comma-separated environment
      variable `VCPKG_FEATURE_FLAGS`.
    * Add the `manifests` feature flag to the `--feature-flags` option.
    * Pass your manifest directory to the `--x-manifest-root` option.
If you wish to silence this error and use classic mode, you can:
    * Add the `-manifests` feature flag to `VCPKG_FEATURE_FLAGS`.
    * Add the `-manifests` feature flag to `--feature-flags`.
Error: 'install' requires at least 1 arguments, but 0 were provided

谁能告诉我如何激活清单模式并解释这个错误的具体原因? (我在我的 C++ 项目中使用外部库的经验不多。)

清单是 vcpkg 的一项相对较新的功能。它允许您指定(通过 vcpkg.json 文件)您的依赖项是什么。旧方法意味着 vcpkg 确实无法通过查看项目文件夹自动了解您的依赖项。您必须手动安装它们。

默认情况下不启用清单模式。可以通过定义环境变量 VCPKG_FEATURE_FLAGS=manifests 来启用它。也可以在直接调用vcpkg时启用:D:\_programming\_repos\vcpkg\vcpkg.exe install --feature-flags=manifests,binarycaching --triplet "x64-windows".