【问题标题】:How can I fix "CL.exe" exited with code 2如何修复以代码 2 退出的“CL.exe”
【发布时间】:2019-10-31 04:29:36
【问题描述】:

我一直在关注 learnopengl.com,我在网站的转换部分,它一直在说

CL.exe" 以代码 2 退出

这使得无法测试任何东西,因为它不会构建。

我尝试了很多东西,我尝试复制教程中的所有代码,然后尝试运行它,但它仍然给出相同的错误。我已经尝试重新启动 Visual Studio,以防出现智能感知错误但仍然没有成功。

它说导致问题的代码是第 429 行的 Microsoft.CppCommon.targets 的一部分,它没有提供更多信息 但这是给出错误的行

<CL Condition="'%(ClCompile.PrecompiledHeader)' != 'Create' and '%(ClCompile.ExcludedFromBuild)'!='true' and '%(ClCompile.CompilerIteration)' == '' and @(ClCompile) != ''"

这是它下面的一些代码

BuildingInIDE                      ="$(BuildingInsideVisualStudio)"
Sources                            ="@(ClCompile)"

但它没有告诉我是什么导致了错误,所以我不知道问题是什么。

它应该完全可以编译和运行,但它会一遍又一遍地给出同样的错误。

【问题讨论】:

  • 似乎是工具链配置错误/安装错误

标签: c++ visual-studio opengl visual-studio-2019 cl.exe


【解决方案1】:

我观察到了明显的情况。这是由于函数具有布尔返回类型但函数缺少返回语句。

例子:

bool DontForgetToReturnBool()
{
    // Everything except return statement
    ...
    ...
    ...
}

这些错误可能令人沮丧,因为编译器应该通知我们错误,但是,它通常很简单,所以只需注释掉最近的代码更改并重新编译,直到找到它。

【讨论】:

  • 这种情况似乎不太可能是所描述问题的原因。
  • 它没有给我更多的信息,而不是 CL.exe 以代码 2 退出。这对我来说毫无意义。所以我不确定出了什么问题,但我认为这可能是 Visual Studio 的错误。
  • 是的,这是 Microsoft 编译器的错误。一旦我添加了return语句,问题就解决了。正如我所说,这是我观察到的一个清晰明确的例子,可能还有其他例子。 (由于 clang 等的流行,微软可能会减少对 C++ 的投资。)
  • 那么我需要对我的代码进行哪些更改才能使其正常工作,这是链接 pastebin.com/EUbGF5fd
  • 这正是我遇到的问题,为什么不能直接说我没有退货声明哈哈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-26
  • 1970-01-01
  • 2018-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多