【发布时间】:2023-01-10 02:04:54
【问题描述】:
我在 Windows 系统上使用 VSCode(版本 1.74.2)。 我的项目需要 CMake (v 3.24) 和 MSVC 编译器。
我安装了 MSVC 19.31,它与 VSCode 和 CMake 套件(自动找到)配合使用效果很好。
今天我需要将 MSVC 升级到 19.34。幸运的是,这没有导致任何问题,除了 VSCode 不再找到编译器这一事实。
显然我清除了所有构建目录,因此 CMake 文件中没有旧编译器的残余。并使用开发人员命令提示符验证了编译器安装。
我尝试扫描工具包,发现“Visual Studio Professional 2022 Release - XXX”(XXX = [x86|x86_amd64|amd64_x86|amd64])工具包。我选择了“amd64”套件。配置导致:
[cmake] CMake Error at C:/Program Files/CMake-3.24.1/share/cmake-3.24/Modules/CMakeDetermineCCompiler.cmake:49 (message):
[cmake] Could not find compiler set in environment variable CC:
[cmake]
[cmake] cl.exe.
[cmake] Call Stack (most recent call first):
[cmake] CMakeLists.txt:9 (project)
[cmake]
[cmake]
[cmake] CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
[cmake] CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
[cmake] -- Configuring incomplete, errors occurred!
所以很明显找不到编译器。
我试图删除套件文件并重新扫描。在 C_Cpp > Default Compiler Path 设置中添加路径导致错误。
Unable to resolve configuration with compilerPath "C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\bin\Hostx64\x64". Using "cl.exe" instead.
啊,是的,我还重新启动了机器,启动了 VS,关闭并重新打开 VSCode(几次)——这些东西有时对 Microsoft 产品有帮助,但这次没有。
如果有任何有用的 cmet,我会很高兴。
【问题讨论】:
-
那是 CMake,与 VSCode 或 VC++ 无关...简单的解决方案,编辑 CMakeCache.txt 文件以指向正确的目录
-
@ChrisMM 这最终是 CMake,但在开始时它与 VS Code 相关。一旦我拿到电脑,我会回答这个问题。