转自个人博客:解决vcpkg使用VS2022报错问题
最近,在把Visual Studio2019完全更新到最新Visual Studio2022后,原使用的vcpkg无法正常安装包,会报如下与Visual Studio 2022相关的错误:
error: in triplet x64-windows-mixed: Unable to find a valid Visual Studio instance
Could not locate a complete Visual Studio instance
The following paths were examined for Visual Studio instances:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary/Build\vcvarsall.bat
在搜寻vcpkg的github issues后,得到了一些可行的解决办法
原链接:https://github.com/microsoft/vcpkg/issues/22074
1. 安装英语语言包
利用VS的官方安装器安装语言包 - 英语
。
但我原本就安装了英语语言包,所以直接PASS
2. 安装完整相关组件
这是vcpkg官方给出的解决办法,把一下组件都要安装上
- C++相关:
-
用于 Windows 的 C++ CMake 工具
-
C++核心功能
-
Visual Studio 最新的生成工具
-
MS Build
-
Windows SDK(安装一个即可):
Windows 8 SDK 8.1
Windows 10 SDK 10.0.18362
Windows 10 SDK 10.0.19041
Windows 10 SDK 10.0.20348
Windows 11 SDK 11.0.22000
- ARM/ARM64相关:
- ARM相关的最新生成工具
- UWP相关:
- UWP最新的生成工具
我也基本都安装了,补全后也没什么用,社区反映也是基本没什么用
3. 再安装2019版本的MSVC编译器(对我有用)
再已安装最新2022版本的MSVC编译器的情况下,再安装一个旧版本2019的MSVC编译器。
利用VS官方安装器安装单个组件 - MSVC v142 - VS 2019 C++ x64/x86 生成工具(v14.29-16.11)
,ARM同样安装对应版本的2019 MSVC。
因为最终发现出现这个问题是因为最新的MSVC编译器与旧版本的vcpkg不兼容,如果不想更新vcpkg,就再安装一个2019的编译器。
4. 更新vcpkg
听说这个问题在最新的vcpkg上已经被解决,那么通过更新vcpkg也能解决,注意VS最好还是放在默认位置
更新vcpkg的命令行命令:
git pull // 拉取最新的vcpkg
.\bootstrap-vcpkg.bat // 利用根目录的更新脚本自行更新