如何指定vcpkg使用的CMake版本

问题描述 投票:4回答:1

简短版本: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。我目前有视觉工作室2017和vcpkg完美工作。

建立:

我创建了一个新的三元组,用于在我的14.1软件包旁边安装我的14.2软件包。这个三元组,我命名为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分支并重新运行bootstrap-vcpkg.bat。

问题:

当我运行vcpkg install sfml:x64-windows-dynamic-2019-142它安装sfml的许多依赖项没有错误,但无法安装sfml引用我上面提到的错误。

我很困惑为什么依赖项没有无法构建,但我真正想知道的是如何让vcpkg使用我已安装和最新的CMake,以便它可以完成构建。

当我在同一个电源shell中运行'cmake --version'时,我正在从它安装sfml返回“cmake version 3.14.0”

cmake visual-studio-2019 vcpkg
1个回答
1
投票

尝试在调用VCPKG_FORCE_SYSTEM_BINARIES之前设置环境变量vcpkg.exe,即:

C:\vcpkg>set VCPKG_FORCE_SYSTEM_BINARIES=1
C:\vcpkg>vcpkg install sfml:x64-windows-dynamic-2019-142

请注意,必须在路径上提供工具cmake.exegit.exeninja.exe

© www.soinside.com 2019 - 2024. All rights reserved.