我的(非常大)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