【问题标题】:'cl' is not recognized as an internal or external command,'cl' 未被识别为内部或外部命令,
【发布时间】:2012-02-06 16:37:29
【问题描述】:

我正在尝试使用 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 后也显示相同的错误。

【问题讨论】:

标签: c++ qt


【解决方案1】:

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

引用文章Setting the Path and Environment Variables for Command-Line Builds

打开开发者命令提示符窗口

  1. 在 Windows 8 开始屏幕显示后,键入 Visual Studio 工具。请注意,搜索结果会随着您的输入而变化;当 Visual Studio 工具出现,选择它。

    在早期版本的 Windows 上,选择开始,然后在搜索框中键入 Visual Studio 工具Visual Studio 工具 出现时 在搜索结果中,选择它。

  2. Visual Studio 工具 文件夹中,为您的 Visual Studio 版本打开 开发人员命令提示符。 (要以管理员身份运行, 打开开发人员命令提示符的快捷菜单并选择运行 作为管理员。)

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

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

运行 vcvarsall.bat

  1. 在命令提示符下,切换到 Visual C++ 安装目录。 (位置取决于系统和 Visual Studio 安装,但典型的位置是 C:\Program Files (x86)\Microsoft Visual Studio 版本\VC。)例如,输入:

    cd "\Program Files (x86)\Microsoft Visual Studio 12.0\VC"
    
  2. 要为 32 位 x86 命令行构建配置此命令提示符窗口,请在命令提示符处输入:

    vcvarsall x86
    

从文章中,可能的论点如下:

  • x86(x86 32 位原生)
  • x86_amd64(x64 上 x86 交叉)
  • x86_arm (ARM on x86 cross)
  • amd64(x64 64 位原生)
  • amd64_x86(x86 上 x64 交叉)
  • amd64_arm (ARM on x64 cross)

【讨论】:

  • @Wolfpack'08 您需要找到vcvarsall.bat 在您的系统中的位置。
  • @PratyushDas 不知道为什么会提到我。
【解决方案2】:

我遇到了同样的问题。 尝试制作一个 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.

【讨论】:

    【解决方案3】:

    确保在安装构建工具后重新启动计算机。

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

      • 这终于帮助我意识到 anaconda 提供了不支持 VS2013 (VC12) 的旧版本 scons。我使用conda install -c https://conda.anaconda.org/bryanwweber scons 进行更新,现在它工作正常:)
      【解决方案5】:

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

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

      【讨论】:

        【解决方案6】:

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

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

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

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

            【讨论】:

              【解决方案9】:

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

              这是由路径中的换行符引起的,这意味着 vcvarsall.bat 由于某种原因找不到公共工具目录。

              【讨论】:

                【解决方案10】:

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

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

                【讨论】:

                  【解决方案11】:

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

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

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2014-04-29
                    • 1970-01-01
                    • 1970-01-01
                    • 2019-05-31
                    • 2013-10-06
                    • 2013-10-11
                    • 2013-01-25
                    相关资源
                    最近更新 更多