在Visual Studio 2017中使用64位Visual C ++工具集

Ber*_*ard 5 visual-studio visual-studio-2017

我的(相当大的)C ++项目已经发展到C1060: compiler is out of heap space在尝试编译项目时出现错误的地步。

我正在64位Windows 10机器上进行编译,但似乎Visual Studio正在使用32位工具集来编译我的项目(请参见下面的屏幕截图)。

32位编译器驱动程序

C1060帮助页面要求我使用64位的工具集,但提供的链接了解如何只用命令行编译时启用了会谈。

是否可以在Visual Studio 2017中设置项目属性或其他方式来告诉它使用64位编译器工具集(已安装在我的计算机上)?

Ber*_*ard 5

根据以下答案,这就是我使Visual Studio 2017使用x64工具集的方式:

使用您喜欢的文本编辑器打开.vcxproj文件,找到以下行:

<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
Run Code Online (Sandbox Code Playgroud)

然后立即添加以下内容:

<PropertyGroup>
  <PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

该答案适用于Visual Studio 2013,但也适用于2017。

附加说明:但是,事实证明这并没有真正解决我的问题。64位工具集耗尽了我计算机上的所有内存,并迫使我需要重新启动。当我回滚代码的最新更改时,对于32位编译器,它使用〜2.8GB进行编译,对于64位编译器,其使用〜4.2GB进行编译(最新代码在冻结我的任务管理器之前消耗了〜6.4GB。我的8GB机器)。我将仔细研究新代码,并尝试找出为什么需要更多的内存。