我已将最初在MS Visual Studio 2008编写的应用程序转换为MS Visual C ++ 6.0(查看我以前的问题).

在我的所有代码转换后,现在在发行中编译了,而无需调试信息。在调试中,我遇到了一个奇怪的问题...错误C1063。

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

您认为克服这个问题的最佳实践是什么?

有帮助吗?

解决方案

致命错误C1063

Visual Studio 6.0

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

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

提示

  • 通过将程序拆分为较小的源文件来简化程序,然后重新编译。

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

其他提示

我只是遇到了这个错误...

G ++将其正确,因为它具有限制,但不如Cl ...的约束。

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

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

最后,我尝试 /zm2000为1GB提供了1GB的空间 编译器堆栈, ,但这并没有解决问题。唯一的另一种方法是没有 /o2(即用 /OD编译并链接得很好。)

实际上,在首先编译时,链接器崩溃了,on 2+尝试,CL吐出了该错误。我认为这与预编译的标题有关。

以防万一,由于有人问,我正在使用我的受控变量标头,此时约为600kb。只是模板,但是简单的模板(真的,看一下!),所以我想它们使用了一种优化算法,该算法可能会检查模板的大部分(如果不是全部),而不是仅仅是公正和只有必要的功能(这是一个很小的数字。 )

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top