プロジェクトをコンパイルしようとすると、大きな(かなり大きい)C++プロジェクトが、C1060: compiler is out of heap space
というエラーが発生するまでに成長しました。Visual Studioで64ビットVisual C++ツールセットを使用する
私は64ビットのWindows 10マシンでコンパイルしていますが、Visual Studioが32ビットツールセットでプロジェクトをコンパイルしているようです(下記のスクリーンショットを参照)。 C1060 help page
は、64ビットツールセットを使用するように私に尋ねるが、リンクは、コマンドラインでコンパイルするときにそれを有効にする方法について協議を提供します。
既にプロジェクトにインストールされている64ビットコンパイラツールセットを使用するようにVisual Studio 2017にプロジェクトプロパティなどを設定する方法はありますか?
* 3GBのアドレス空間を超えると、病理コードベースの症状になります。プロジェクト全体の大きさは問題ありません。各翻訳単位を適切にモジュール化する必要があります管理しやすい –
@MatteoItalia私が同意するのは、コードの大半は1つの翻訳単位に多くのテンプレートとヘッダーが含まれていることに同意します。しかし、今のところ、私はコードベースを屈折させる時間がありません。 – Bernard
いくつかの奇妙な理由で、私がconstant_not = std :: bool_constant <!(TBoolConstant :: value)>;を使用して 'templateを定義すると、' constant_not {} '。 constant_not = std :: bool_constant <!bool(TBoolConstant :: value)>;を使用して定義を 'template に変更すると、メモリは非常に扱いやすい300MBに落ちます。おそらくコンパイラのバグですが、もっとテストをしなくてはなりません。 –
Bernard