如何强制CLion使用指定版本的MSVC工具集?
问题:CLion GUI无法正确指定旧版MSVC工具集,终端执行却正常
环境与需求
- CLion 2022.2、Visual Studio 2022、CMake 3.23
- 需使用MSVC工具集版本14.31.17.1(对应
_MSC_VER=1931),而非Visual Studio 2022自带的最新工具集
配置步骤与异常现象
项目的CMakeLists.txt内容:
project(test_project) add_executable(test_project main.cpp)
在CLion中配置:指定生成器为Visual Studio 2022,工具集版本14.31.17.1,CLion执行的CMake命令为:
"C:\Program Files\CMake\bin\cmake.exe" -G "Visual Studio 17 2022" -T version=14.31.17.1 -S F:\test_project -B F:\test_project\build
出现以下异常:
- CLion日志显示当前使用的编译器为MSVC 19.33.31629.0(对应最新工具集)
- 清理缓存后,在CLion内置终端执行完全相同的上述命令,却能正常使用预期的MSVC 19.31.31107.0
- 尝试在CLion工具链设置中手动指定C/C++编译器,无效果
- 删除最新MSVC工具集时,会连带移除
C++ CMake Tools for Windows,导致无法正常使用CMake
构建测试结果
测试代码main.cpp:
#include <iostream> int main() { std::cout << _MSC_VER << std::endl; return 0; }
测试现象:
- 通过CLion GUI构建并运行,输出
1933 - 在CLion终端执行CLion显示的同一构建命令,运行后输出
1931 - 调试时:CLion的Evaluate表达式功能显示
_MSC_VER为1933,但程序实际输出1931,变量x{_MSC_VER}的调试值也为1931
疑问
- 是否遗漏了CLion的关键配置项?
- CLion是否存在需要手动覆盖的环境变量?
- 能否在CLion中直接选择并让指定的MSVC版本生效?
内容的提问来源于stack exchange,提问作者Charlie
相关产品推荐
相关产品推荐

