2

私のケースに当てはまる本当の答えのない同様の質問: CLICK
ここで質問する前に調査した質問 - CLICK

私はMinGW64非常に大きな.cppファイル(>13k行)を試してコンパイルするために使用していますが、Visual Studio 2010にもアクセスできます-誰かがそれを使用したソリューションを持っている場合は、お気軽に教えてください.
組み立て段階でエラーを特定しました -

... too many sections (33396)
C:\Users\username\AppData\Local\Temp\ccnAocvD.s: Assembler messages:
C:\Users\username\AppData\Local\Temp\ccnAocvD.s: Fatal error: can't write 
CMakeFiles/source.dir/sourcecode.cpp.obj: File too big

2 人の同僚が提案したように、私は現在-Os--param ggc-min-expand=0,を使用してコンパイルを実行しています - コンパイルは現在 5 時間以上実行されています。--param ggc-min-heapsize=4096

アップデート:

一部の人々が示唆しているように、ファイルを2つのソースファイルに分割し、それらのヘッダーを作成します-ありがとう。

2 回目の更新:

ヘッダーを作成し、ファイルを 4 つの小さなファイルに分割した後でも、コンパイルはまだ完了していません (5 日 !!!)。

最後の

この問題は未解決のままでした - 投稿したすべての人からのアドバイスに従った後でも、これをコンパイルすることができませんでした.

4

1 に答える 1

1

GCC についてはよくわかりませんが/bigobj、VisualStudio でその特定のファイルのフラグを試しましたか?
大きなファイルで同じ問題が発生しましたが、実際に問題を解決しました。だから試してみる価値があります。

MSDN から:

デフォルトでは、オブジェクト ファイルは最大65,536 (2^16)のアドレス指定可能なセクションを保持できます。これは、どのターゲット プラットフォームが指定されていても当てはまります。/bigobj は、そのアドレス容量を4,294,967,296 (2^32)に増やします。

詳細については、こちらをご覧ください。

于 2013-07-14T19:21:51.170 に答える