如何指定 vcpkg 使用的 CMake 版本
How to specify CMake version used by vcpkg
短版:
vcpkg 构建包失败并出现以下错误:
Unable to determine appropriate CMake MSBuild generator for:
Windows-x64-v142
This is because CMake 3.12.4 does not currently have a 'Visual Studio 16
2019' option.
即使安装了 cmake 3.14。
我想告诉它使用 cmake 3.14
长版:
背景:
我正在试验 visual studio 2019 和 vcpkg。我目前有 visual studio 2017 和 vcpkg 完美运行。
设置:
我创建了一个新的三元组,目的是将我的 14.2 软件包与我的 14.1 软件包一起安装。这个三元组,我命名为 x64-windows-dynamic-2019-142,和标准的 x64-windows 三元组完全一样,但是我添加了 VCPKG_VISUAL_STUDIO_PATH 和 VCPKG_PLATFORM_TOOLSET给它。
完整的三元组文件如下所示:
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)
set(VCPKG_VISUAL_STUDIO_PATH "C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community")
set(VCPKG_PLATFORM_TOOLSET "v142")
我将 vcpkg 拉到最新的 master b运行ch 并重新运行 bootstrap-vcpkg.bat.
问题:
当我 运行 vcpkg install sfml:x64-windows-dynamic-2019-142
它安装了 sfml 的许多依赖项而没有错误,但是由于我上面提到的错误而无法安装 sfml。
我很困惑为什么依赖项没有构建失败,但我真正想知道的是如何让 vcpkg 使用我安装的和最新的 CMake 以便它可以完成构建。
当我 运行 一个 'cmake --version' 与我从它安装 sfml 的功率相同 shell 时 returns "cmake version 3.14.0"
尝试在调用 vcpkg.exe
之前设置环境变量 VCPKG_FORCE_SYSTEM_BINARIES,即:
C:\vcpkg>set VCPKG_FORCE_SYSTEM_BINARIES=1
C:\vcpkg>vcpkg install sfml:x64-windows-dynamic-2019-142
请注意,工具 cmake.exe
、git.exe
和 ninja.exe
必须在路径上可用。
短版: vcpkg 构建包失败并出现以下错误:
Unable to determine appropriate CMake MSBuild generator for:
Windows-x64-v142
This is because CMake 3.12.4 does not currently have a 'Visual Studio 16
2019' option.
即使安装了 cmake 3.14。 我想告诉它使用 cmake 3.14
长版:
背景:
我正在试验 visual studio 2019 和 vcpkg。我目前有 visual studio 2017 和 vcpkg 完美运行。
设置:
我创建了一个新的三元组,目的是将我的 14.2 软件包与我的 14.1 软件包一起安装。这个三元组,我命名为 x64-windows-dynamic-2019-142,和标准的 x64-windows 三元组完全一样,但是我添加了 VCPKG_VISUAL_STUDIO_PATH 和 VCPKG_PLATFORM_TOOLSET给它。 完整的三元组文件如下所示:
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)
set(VCPKG_VISUAL_STUDIO_PATH "C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community")
set(VCPKG_PLATFORM_TOOLSET "v142")
我将 vcpkg 拉到最新的 master b运行ch 并重新运行 bootstrap-vcpkg.bat.
问题:
当我 运行 vcpkg install sfml:x64-windows-dynamic-2019-142
它安装了 sfml 的许多依赖项而没有错误,但是由于我上面提到的错误而无法安装 sfml。
我很困惑为什么依赖项没有构建失败,但我真正想知道的是如何让 vcpkg 使用我安装的和最新的 CMake 以便它可以完成构建。
当我 运行 一个 'cmake --version' 与我从它安装 sfml 的功率相同 shell 时 returns "cmake version 3.14.0"
尝试在调用 vcpkg.exe
之前设置环境变量 VCPKG_FORCE_SYSTEM_BINARIES,即:
C:\vcpkg>set VCPKG_FORCE_SYSTEM_BINARIES=1
C:\vcpkg>vcpkg install sfml:x64-windows-dynamic-2019-142
请注意,工具 cmake.exe
、git.exe
和 ninja.exe
必须在路径上可用。