【问题标题】:Visual C++ 6.0 - fatal error C1063Visual C++ 6.0 - 致命错误 C1063
【发布时间】:2011-04-26 20:54:49
【问题描述】:

我已将最初用 MS Visual Studio 2008 编写的应用程序转换为在 MS Visual C++ 6.0 (see my previous question) 上编译。

转换后我的所有代码现在都在 Release 中编译,没有调试信息。在调试中我遇到了一个奇怪的问题……错误 C1063。

fatal error C1063: 
Error executing cl.exe. 
main.obj - 1 error(s), 163 warning(s)

在您看来,克服这个问题的最佳做法是什么?

【问题讨论】:

  • 我认为在不向 SO 社区解释的情况下转储错误代码是一种不好的做法。

标签: visual-studio visual-c++ visual-studio-2008 porting visual-c++-6


【解决方案1】:

Fatal Error C1063

Visual Studio 6.0

编译器限制:编译器堆栈溢出

  • 程序太复杂,导致 编译器堆栈溢出。这 错误可能是递归的结果 包括。

提示

  • 通过拆分来简化程序 成更小的源文件,和 重新编译。

您是否有意外递归的调试代码?

【讨论】:

  • 在我看来,我的调试代码不是递归的(事实上在 MSVS2008 中都可以正常工作)。你有没有建议我如何测试我的调试代码是否是递归的?感谢您的快速回复...
  • 不幸的是,visual c++ 6.0 以警告级别 3 引发此错误。与警告级别 0 相比,此问题无法比较。谢谢。
【解决方案2】:

我刚刚遇到了那个错误...

g++ 会做对,因为它有限制,但不像 cl...

我发现这个页面我认为对这个问题很感兴趣。

http://msdn.microsoft.com/en-us/library/bdscwf1c%28v=vs.80%29.aspx

我尝试 /Zm2000 为 编译器堆栈 提供 1Gb 的空间,但这并没有解决问题。唯一的另一种方法是没有 /O2 (即使用 /Od 它编译和链接得很好。)

实际上,在第一次编译时,链接器崩溃并且在 2 次以上的尝试中,cl 吐出了该错误。我认为这与预编译的头文件有关。

以防万一,因为有人问过,我正在使用我的受控变量标头,此时大约 600Kb。只是模板,但非常简单的模板(真的,看看它们!)所以我猜他们使用了一种优化算法,它可能会检查模板的大部分功能(如果不是全部功能),而不是只检查那些必要的功能(这是一个非常小的数字。 )

http://snapwebsites.org/project/controlled-vars

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-15
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多