解决VS2022版出现“‘cl‘ 不是内部或外部命令”的问题

2023-11-04

在命令行中运行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 %*

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决VS2022版出现“‘cl‘ 不是内部或外部命令”的问题 的相关文章

随机推荐

  • 【原创】Java+solrJ实现对solr索引的增删改查

    1 项目准备 jdk1 8 eclipse solr solrJ 6 6 0 jar 2 项目具体内容 solrJ操作步骤 建立solrserver连接 创建Document文档列表docs 创建document文档对象doc 获取需要建立
  • 809协议解读遇到的一些小问题

    1 标识头 尾和转义方式 它和808不同 它的头和尾标识不一样 头是5b 尾是5d 转义方式 5b gt 5a 01 5a gt 5a 02 5d gt 5e 01 5e gt 5e 02 2 校验码 CRC16 CCITT 协议上面写校验
  • JAVA-Word转PDF各种版本实现方式--亲测有效。。。持续更新中

    JAVA Word转PDF各种版本实现方式 当下做一个项目 就是各种操作office 客户的需求总是各种不按常理 来需求就得搞啊 对JAVA操作office这方面真是头大 弟弟是真滴不懂不会啊 无奈只好试啊试的 网上一大堆好使的 一大堆不好
  • Animator 状态机切换打断机制

    State Machine Transition interruptions 查看原文 状态机切换打断机制 在默认的动画系统中 切换不能被打断 一旦开始从一个状态切换到另一个状态 就不能中途退出 就像飞越大西洋的航班 一旦开始 只能到目的地
  • DDL和DML

    DML语言 修改表中数据 insert update delete DDL语言 改变表结构 create table create index alter table alter index drop index 对于oracle来说 DD
  • 基于nodejs面向图书共享系统

    末尾获取源码 开发语言 nodejs 框架 Express 数据库 MySQL5 7 数据库工具 Navicat 11 开发软件 Hbuilder VS code 浏览器 edge 谷歌 目录 一 项目简介 二 系统功能 三 系统项目截图
  • 对象比较工具

    RSSYSCOMP程序可以比较两个系统之间的对象差异 在项目进行系统切换后 可以使用该工具 检查开发对象是否都已传输到生产系统
  • 详解Linux命令行下常用svn命令

    1 Linux命令行下将文件checkout到本地目录 svn checkout path path是服务器上的目录 例如 svn checkout svn 192 168 1 1 pro domain 简写 svn co 2 Linux命
  • 使用jupyter快速下载kaggle中的数据集

    问题介绍 我们在kaggle中下载数据集非常慢 响应都要响应半天 笔者也是深受其扰 通过查阅外网大佬的方法 成功解决了这一问题 现在将解决方法详细说明如下 分享给遇到同样困扰的小伙伴 这个方法主要是通过jupyter来快速将kaggle的数
  • 微信小程序期末作业-商城小程序(可以登录)

    微信小程序期末作业 商城小程序 可以登录 登录账号和密码为abc和123 作品链接 https download csdn net download weixin 43474701 13986267
  • 在德国观看中文视频的免费网站总结--涵盖几乎中文各类所有视频

    1 独播库 https www duboku tv 2 欧乐影院 https www olevod com 3 一帆视频 https www ifsp tv tv series
  • Java压缩文件

    1 Zip压缩I O实现 主要是使用java util zip包中的ZipOutputStream和ZipInputStream类来实现文件的压缩和解压缩 不管是解压缩还是压缩都需要先找到文件的 目录进入点 2 ZipOutputStrea
  • 利用Matlab的Simulink原理框图来画bode图的方法

    由于matlab的版本升级 有些应用于旧版本的方法应用于新版本比较困难 首先 先贡献一链接 这是在matlab旧版本 大概是2010b以前的版本吧 中 如何在simulink原理框图画出bode图和其他各种图的方法 http blog si
  • 没写博客的一年,我在干嘛

    机缘 最初成为创作者的初心 还记得独自一人学习Java的那个时候 从早学到晚 不知疲倦 有了一定的基础以后 就写上了博客 边学边写 收获 丝慢慢增长 不知不觉已经快三千人了 浏览量也还不错 憧憬 已经很久没有写博客了 2021备考考研 功夫
  • WSL2突然无法连接网络

    管理员模式下在powershell中运行以下命令然后重启电脑 wsl shutdown netsh winsock reset netsh int ip reset all netsh winhttp reset proxy ipconfi
  • k8s删除 Terminating 状态的namespace

    处于 Terminating 状态的 ns 经常无法正常删除 可尝试以下两种方法解决 方法1 使用 force 参数 delnsname 为要删除的命名空间 kubectl delete ns delnsname force grace p
  • 完美:定制Linux 超级漂亮的Shell-zsh(on-my-zsh)-2022.4.4

    完美 定制Linux 超级漂亮的Shell zsh on my zsh 2022 4 5 先来一张美图 1 zsh 介绍 1 Linux shell Linux Unix 提供了很多种 Shell 为毛要这么多 Shell 难道用来炒着吃么
  • 在线会议的线下战场:补齐产业故事里的第一个短板

    过去几年时间里 在线会议产品以其互联网的强产品体验和线上办公的必选项属性站在了TO B风口上 但在水温变化的如今 这个冷却的赛道在增长之外 更迎来了新的审视 即用类互联网的打法 能否彻底渗透TO B市场 中间设计到的公有云交付 服务以及产品
  • Php 股票系统,利用PHP命令行模式采集股票趋势信息

    话不多说 下面直接来看实现代码 主要函数只有一个类实现 stock class php class StockClass public stockId public function construct stockId this gt st
  • 解决VS2022版出现“‘cl‘ 不是内部或外部命令”的问题

    在命令行中运行Visual Studio 2022编译器的命令为 cl 但在执行的时候 有可能产生错误 cl 不是内部或外部命令 也不是可运行的程序 或批处理文件 错误原因是系统的环境变量配置有问题 需要手动修改系统环境变量 这里使用两种方