前言
在编译一些c、c++文件时常常需要用到cmake,偶尔会遇到在Windows上安装cmake之后,在Windows PowerShell中可以查到cmake的版本,但是在vs code中即使新开页面cmake仍然无效。
一、cmake有效的正常表现之一
最简单的方法就是在命令行cli中输入cmake --version
后查看是否有如下类似的输出:(版本号可能有所不同)
cmake --version
cmake version 3.26.0
CMake suite maintained and supported by Kitware (kitware.com/cmake).
(Windows平台直接官网安装msi文件版本比较省事,安装中设置步骤有一个添加环境变量要选一下)
二、排查及原因解释
1. 表现
在vs code中当前terminal页面无法看到cmake的版本信息。
新开一个terminal页面仍然不行。
关闭当前vs code,去另外一个安装cmake之前打开的vs code中打开一个新的terminal页面用cd
指令切换到目标路径后使用code .
指令打开一个新的vs code,但是在新打开的vs code中仍然无法查到cmake的版本信息。
前往Windows PowerShell中可以查到cmake的版本。
卸载cmake后重装,重复上述步骤,仍无法查看到cmake版本。
2. 解决
方法一:关闭所有vs code后重新打开,问题解决。
方法二:在能查到cmake版本信息的Windows PowerShell中用cd
指令切换到目标路径后使用code .
指令打开一个新的vs code,问题解决。
3.原因解释
vs code内会保存启动软件那一刻的环境变量情况,当有更新时需要重新打开软件。同时vs code的启动还会有一定的继承性,在一个vs code 中用code .
指令打开一个新的vs code会继承前一个vs code的环境变量情况。
总结
重启解决99%的问题,vs code有一定的继承性,cmake明明安装了却在vs code中没有生效的问题直接重启系统或者所有vs code即可解决。