vcvars64.bat是vs2022相关的批处理程序,
目录:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build
已经将该目录添加到环境变量,启动powershell或cmd,运行vcvars64.bat,即可在当前powershell或cmd中调用vs2022相关的程序。

调用ninja, 指定clang编译程序。

  1. cmake .. -G Ninja -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_C_COMPILER=clang

实验如下:

远程115

环境:

  • 115是windows10
  • 安装的vs2019
  • vs2019中安装的llvm 12.0.0

    在115使用vs2019安装的llvm 12.0.0,成功

    image.png

在115使用自己安装llvm 13.0.1,失败

image.png

本机

环境:

  • windows10
  • 安装的vs2022
  • vs2022中安装的llvm 14.0.5

    在本地使用vs2022安装的llvm 14.0.5,失败

    image.png

启动x64 Native Tools Command Prompt for VS 2022,重复上面,成功。

image.png

在cmd中调用vcvars64.bat,然后编译,成功。

image.png

在powershell中调用vcvars64.bat,然后编译,还是失败。

image.png

最后,发现是我本机的cl.exe的环境变量不对,配置正确的环境变量后就可以了。因为vs2022版本在更新,导致它对应的目录也在改变。这一点必须要注意。所以,在运行前最好调用cl命令,看看cl的路径是否正确。如下,表示cl路径没有问题。
image.png