我在Windows系统上使用VSCode(Version 1.74.2)。我的项目需要CMake(v 3.24)和MSVC编译器。
我安装了MSVC 19.31,它与VSCode和CMake工具包(自动找到的)配合得很好。
今天我需要将MSVC升级到19.34。幸运的是,除了VSCode找不到编译器之外,这没有引起任何问题。
显然我清除了所有的build目录,所以在CMake文件中没有旧编译器的残余。并且编译器的安装是通过开发者命令提示符验证的。
我尝试扫描工具包“Visual Studio专业版2022发行版- XXX”(XXX = [x86| x86_amd64|修订版64_x86| amd 64])工具包。我选择了“amd 64”工具包。配置导致:
[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〉默认编译器路径设置中添加路径导致错误。
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(几次)--这些东西有时对微软的产品有帮助,但这次没有。
我很乐意听到任何有益的评论。
1条答案
按热度按时间pbwdgjma1#
这是使用VS代码打开的项目配置文件的问题。VS代码的
CMake
插件的工作方式是为您的项目创建至少两个特殊文件:c_cpp_properties.json
tasks.json
您主要对
c_cpp_properties.json
文件感兴趣,这是一个示例文件,取自我回答的另一个问题:你的看起来也差不多。
您对名为
compilerPath
的元素(通常位于底部)感兴趣。由于您已将
MSVC
更新为较新版本,因此您仍在此处传递错误的路径(我可以告诉您是从14.xxx升级的)。通过更正到较新版本的路径,您很可能会修复您的问题。
**注意:**您可能需要更新更多的变量(甚至可能在两个文件中)。但是,这正是问题的根源。