Visual C++ 6.0 - 致命的なエラー C1063
-
08-10-2019 - |
質問
元々 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)
この問題を克服するためのベストプラクティスは何だと思いますか?
解決
Visual Studio 6.0
コンパイラの制限:コンパイラスタックのオーバーフロー
- このプログラムは複雑すぎて、コンパイラスタックがオーバーフローしました。このエラーは、再帰的な含有の結果である可能性があります。
チップ
- プログラムをより小さなソースファイルに分割して、再コンパイルしてプログラムを簡素化します。
誤って再帰的なデバッグ コードはありますか?
他のヒント
私はちょうどそのエラーで走りました...
G ++は制限があるため正しくなりますが、CLのように制約されていません...
この質問に関して興味深いと思うこのページを見つけました。
http://msdn.microsoft.com/en-us/library/bdscwf1c%28v = vs.80%29.aspx
私の最後に /ZM2000を試して、1GBのスペースを提供しました コンパイラスタック, 、しかし、それは問題を解決しませんでした。他の唯一の方法は、 /o2を持っていないことでした(つまり、それがコンパイルされ、正常にリンクされた /odで /od)。
実際、最初のコンパイルでは、リンカーがクラッシュし、2+が試行され、Clはそのエラーを吐き出します。プリコンパイルされたヘッダーに関係していると思います。
念のため、一部の人々が尋ねたので、私はこの時点で約600kbの制御変数ヘッダーを使用しています。ただテンプレートですが、死んだイージーテンプレート(実際には、それらを見てください!)したがって、必要なテンプレートのすべてではなく、必要なもののみではなく、おそらくほとんどをチェックする最適化アルゴリズムを使用していると思います(これは非常に少数です。 ))