本文记录配置环境时遇到的诡异 bug,或许对后来者有一些帮助。长期更新。
图形学 Lab2
在 build 时遇到了诡异的报错信息,现在已经找不到了,大意是 vcpkg 编译 abseil 这个包的时候出错了。
按 vcpkg 的提示试图执行 git pull 和 vckpg update,发现根本执行不了。而且 vcpkg 明显是最新的,完全不需要 update。
最后翻到了报错日志的路径,点进去看,发现是这个包需要 Visual Studio 版本至少为 2019。之前为了做图形学 Project 不得不下了一个 VS 2017,导致 cmake 默认编译也是为了 VS 2017 编译,这下闭环了.jpg
虽然可以让 cmake 用 g++ 编译,而不是用 VS 的 MSVC,但我发现我 windows 上居然没有 g++。由于懒得下一个,就试图把 VS 编译搞好。
于是删了 VS 2017,下了一个 VS 2022。花了 114514 分钟。
然后发现 cmake 直接找不到 VS 了,报错信息如下:
-- Running vcpkg install
error: in triplet x64-windows: 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:
D:\Microsoft Visual Studio\2022\Community\VC\Auxiliary/Build\vcvarsall.bat
非常无语,换着不同的方法百度了近 30 分钟,找到了一个几乎一样的问题。一路递归来到了 一个看起来比较合适的解决方法。
我认为它是让我在 VS Installer 上多下几个组件,但是我并不知道它要我下的组件应该怎么在 Installer 上搜索。后来偶然发现了一个这样的东西,于是就获得了组件 ID 和组件名的对照表。
按它的要求装了一些七七八八的东西(甚至有 ARM 相关的内容),居然真的让我的 cmake 找到了 VS。然后目前似乎编译成功了。