ChatGPT解决这个技术问题 Extra ChatGPT

'cl' 未被识别为内部或外部命令,

我正在尝试使用 Qt Creator 在 Qt 中编译一个 hello world 程序。

我得到 'cl' 未被识别为内部或外部命令。

我正在使用 Windows 7 以及安装在其中的 Vs 2008 和 2010。当我使用 Mingw 时,它编译得很好,但如果使用 vs 2008,它会给出这个错误。

设置 Env Path =..;..;C:\Program Files\Microsoft Visual Studio 9.0\VC\bin 后,它也显示相同的错误。

检查您的 PATH 中是否有 VS2008 的编译工具链。
@ereOn 在工具链中 c:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat
请参阅 stackoverflow.com/questions/6476607/vc-cl-exe-dll-not-found 的答案(“运行 VS 命令提示符快捷方式”)

S
Smi

发生该错误是因为 cl 不在您的路径中。你需要在那里添加它。推荐的方法是启动开发者命令提示符

引用文章Use the Microsoft C++ toolset from the command line

在桌面上,打开 Windows 开始菜单。在 Windows 11 中,选择“所有应用”按钮以打开已安装应用的列表。在 Windows 10 中,列表向左打开。向下滚动列表以查找并打开适用于您的 Visual Studio 版本的文件夹(不是应用程序),例如 Visual Studio 2022。在该文件夹中,为您的 Visual Studio 版本选择开发人员命令提示符。此快捷方式会启动一个开发人员命令提示符窗口,该窗口使用 32 位 x86-native 工具的默认构建体系结构来构建 32 位 x86-native 代码。如果您更喜欢非默认构建架构,请选择本机或跨工具命令提示符之一来指定主机和目标架构。要以更快的方式打开开发人员命令提示符,请在桌面搜索框中输入开发人员命令提示符。然后选择你想要的结果。

正如文章所述,有几种不同的快捷方式可用于设置不同的工具集 - 您需要选择合适的快捷方式。

如果您已经打开了一个普通的命令提示符窗口,您可以使用适当的参数运行批处理文件 vcvarsall.bat 来设置环境变量。引用同一篇文章:

在命令提示符处,使用 CD 命令切换到 Visual Studio 安装目录。然后,再次使用 CD 切换到包含特定配置命令文件的子目录。对于 Visual Studio 2019 和 Visual Studio 2017,使用 VC\Auxiliary\Build 子目录。对于 Visual Studio 2015,使用 VC 子目录。输入您首选的开发人员环境的命令。例如,要在 64 位平台上为 UWP 构建 ARM 代码,使用最新的 Windows SDK 和 Visual Studio 编译器工具集,请使用以下命令行:vcvarsall.bat amd64_arm uwp

从文章中,第一个参数的可能值如下:

x86(x86 32 位本机)

x86_amd64 或 x86_x64(x86 交叉上的 x64)

x86_arm(x86 交叉上的 ARM)

x86_arm64(x86 交叉上的 ARM64)

amd64 或 x64(x64 64 位本机)

amd64_x86 或 x64_x86(x64 交叉上的 x86)

amd64_arm 或 x64_arm(x64 交叉上的 ARM)

amd64_arm64 或 x64_arm64 (ARM64 on x64 cross)


G
GDP

我有同样的问题。尝试制作一个 bat 文件来启动 Qt Creator。在 bat 文件中添加类似这样的内容:

call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"  
"C:\QTsdk\qtcreator\bin\qtcreator" 

现在我可以编译并得到:

jom 1.0.8 - empower your cores
11:10:08: The process "C:\QTsdk\qtcreator\bin\jom.exe" exited normally.

D
DunskyDouglas

确保在安装 Build Tools 后重新启动计算机。

这就是导致我出错的原因。


S
Smi

我遇到了同样的问题,我通过从 MSVC2010 切换到 MinGW 解决了这个问题。

从左侧窗格中选择项目选项卡。然后选择“目标”。从那里将 Qt 版本更改为 MinGW 而不是 VC++。


这最终帮助我意识到 anaconda 提供了不支持 VS2013 (VC12) 的旧版本 scons。我使用 conda install -c https://conda.anaconda.org/bryanwweber scons 进行更新,现在它工作正常 :)
B
Bo Persson

您必须为每个编译器正确设置环境变量。在打开命令提示符时,每个编译器的程序菜单上都有执行此操作的命令。

另一个选择当然是使用 IDE 来构建您的应用程序。


C
Community

我遇到了这个问题,因为我在安装 Visual Studio 时忘记选择“Visual C++”。

要添加它,请参阅:https://stackoverflow.com/a/31568246/1054322


n
nmnm

我有同样的问题很长一段时间,我花了天知道花了多少钱,直到我不小心想出了该怎么做。此解决方案适用于 Windows 10。您需要做的就是将 C:\WINDOWS\System32 添加到环境变量中的用户变量下的路径变量中......请注意,如果将其添加到系统变量中,它也可能有效。但是,这对我不起作用。


L
Lily

您可以使用 VS 2010 的命令提示符,然后选择您的 boost 所在的路径。使用“bootstrap.bat”,就可以成功安装了。


u
user3898942

对我来说,这与 Smi 描述的场景有关,不同之处在于 vcvarsall.bat 本身由于路径无效而失败。

这是由路径中的换行符引起的,这意味着 { 1} 由于某种原因找不到通用工具目录。


m
mathiasfk

从调试更改为发布时,有时我会遇到此问题,反之亦然。关闭并重新打开 QtCreator 并再次构建解决了我的问题。

Qt 创建者 2.8.1; Qt 5.1.1 (MSVC2010, 32bit)


P
Pooja

我也遇到了这个错误,检查了我的环境变量(VS120COMNTOOLS、VS110COMNTOOLS 等)中有多个版本的 Visual Studio 通用工具变量,用于不同的 Visual Studio 版本。

我从环境变量中删除了我不需要的那些,问题得到了解决。


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅