简短版本: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”
尝试在调用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.exe
,git.exe
和ninja.exe
。