Visual C ++ 6.0 - 致命错误C1063

时间:2010-10-18 10:23:03

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

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

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

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

在您看来,解决此问题的最佳做法是什么?

2 个答案:

答案 0 :(得分:2)

Fatal Error C1063

  

Visual Studio 6.0

     

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

     
      
  • 该程序太复杂而且造成了   编译器堆栈溢出。这个   错误可能是递归的结果   包括。
  •   
     

<强>提示

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

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

答案 1 :(得分:2)

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

g ++会因为它有限制而得到正确的结果,但不像cl ...那样受限制。

我发现这个页面我觉得对这个问题感兴趣。

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

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

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

以防万一,因为有人问,我现在使用的是Controlled Variables标题,大约600Kb。只是模板,但死了简单的模板(真的,看看它们!)所以我猜他们使用的是一种优化算法,它可能会检查模板的大多数功能,而不仅仅是那些必要的功能(这是一个非常小的数字)。 )

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