我的(非常大)C++項目已經發展到一個點,在嘗試編譯我的項目時出現C1060: compiler is out of heap space
錯誤。在Visual Studio 2017中使用64位Visual C++工具集
我在64位Windows 10機器上編譯,但似乎Visual Studio正在使用32位工具集編譯我的項目(請參見下面的截圖)。
的C1060 help page問我使用64位的工具集,但提供的鏈接瞭解如何只用命令行編譯時啓用了會談。
是否有任何方法來設置項目屬性或Visual Studio 2017中的其他內容,告訴它使用64位編譯器工具集(它已經安裝在我的機器上)?
使*編譯器*超過3 GB的地址空間在我看來是一個病態代碼庫的症狀......如果您正確地對其進行模塊化,每個翻譯單元應該可以管理。 –
@MatteoItalia我同意,大部分代碼都在一個翻譯單元中,包含很多模板和標題,而且很麻煩。但現在,我沒有時間摺疊代碼庫。 – Bernard
由於一些奇怪的原因,當我使用constant_not = std :: bool_constant <!(TBoolConstant :: value)>;定義了'template時,編譯器在我有一個'constant_not {}'。如果我使用constant_not = std :: bool_constant <!bool(TBoolConstant :: value)>;將定義更改爲'template ,則內存降至300MB。可能是一個編譯器錯誤,但我將不得不做更多的測試。 –
Bernard