在命令行中运行Visual Studio 2022编译器的命令为“cl”,
但在执行的时候,有可能产生错误“‘cl’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。”
错误原因是系统的环境变量配置有问题,需要手动修改系统环境变量。
这里使用两种方法:配置环境变量和使用vcvars.bat文件。不过,经实践发现,使用vcvars.bat文件在关闭当前cmd,再重新打开cmd之后,还是会出现 ‘cl’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。 的问题。也就是说,配置环境变量一劳永逸,而使用vcvars.bat文件只是一次性的。我也没有弄懂是为什么,如果有明白原理的朋友可以告诉我,那我将感激不尽!
本文可以解决的问题
- ‘cl’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。 - 由于找不到mspdb100.dll,无法继续执行代码,重新安装程序可能会解决此问题。
方法一、配置环境变量
打开“此电脑”→“属性”→“高级系统设置”,
选择“高级”→“环境变量”,
选择“Path”→“编辑”,
在本文中,“cl.exe”文件的路径为“D:\Software\Microsoft Visual Studio 10.0\VC\bin”,
所以,此处添加“D:\Software\Microsoft Visual Studio 10.0\VC\bin”,然后点击“确定,
然后,一直“确定”直到退出为止。
此时,我们在“cmd”中输入“cl”,显示“找不到mspdb100.dll”,
这是由于,“cl.exe”所在的“D:\Software\Microsoft Visual Studio 10.0\VC\bin”文件夹中,没有“mspdb100.dll”,
这个文件存在“D:\Software\Microsoft Visual Studio 10.0\Common7\IDE”中,
我们只需要把“D:\Software\Microsoft Visual Studio 10.0\Common7\IDE”文件夹中的“mspdb100.dll”文件复制一份到“D:\Software\Microsoft Visual Studio 10.0\VC\bin”文件夹中,即可解决这个问题。
检测“cl”命令是否可用,如图所示,即可正常使用“cl”了。
补充:
环境变量分为系统环境变量和用户环境变量。
正常所说的环境变量是指系统环境变量,对所有用户起作用,而用户环境变量只对当前用户起作用,如果此电脑登入了另外个用户账号,那配置之前账号的用户环境变量就对另外个用户账号不起作用。
方法二、使用vcvars32.bat文件
解决这个问题,首先需要找到“vcvars32.bat”文件。
通过安装目录下,通过搜索工具找到该文件的目录,
本文中,该路径为“D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build”,
使用“win+r”,输入“cmd”,敲击“回车”,打开命令提示符。
进入到该文件路径中,
输入“vcvars32.bat”文件名,运行该文件。
如果得到如图所示的结果证明成功了。
输入“cl ?”检测是否成功,
如果如图所示,则已经可以正常使用编译器了。
并且,笔者发现此数查看环境变量,“Path”选项增加了“D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build”选项。
补充:
bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下输入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。入侵者常常通过批处理文件的编写来实现多工具的组合入侵、自动入侵及结果提取等功能。
本文中,“vcvars32.bat”文件内容为:
@call “%~dp0vcvarsall.bat” x86 %*