配置 Visual C++ 项目以在构建 32 位可执行文件时使用 64 位工具集

jsc*_*edl 7 linker visual-c++ visual-studio-2017

我正在尝试启用链接时代码生成 (LTCG) 和整个程序优化 (WPO),以构建使用 Visual Studio 2017 构建的大型 Windows C++ 应用程序。64 位产品构建良好,但我们的 32 位产品的代码生成步骤构建内存不足。

因此,我需要切换 32 位版本以使用 64 位 link.exe,如下所述:如何:在命令行上启用 64 位、x64 托管的 Visual C++ 工具集

具体来说:

32 位和 64 位工具生成相同的代码,但 64 位工具支持更多内存用于预编译头符号和整个程序优化(/GL 和 /LTCG)选项。如果您在使用 32 位工具时遇到内存限制,请尝试使用 64 位工具。

它描述了从命令行构建执行此操作,但我需要在 devenv 环境中进行此操作。我未能成功搜索解决方案或项目设置来控制使用 64 位工具集进行 32 位构建。

我怀疑我需要直接编辑 .vcxproj 文件,但不确定要添加什么。谁能告诉我如何以这种方式设置 32 位版本?

Ste*_*eve 4

PreferredToolArchitecture另一种答案是在项目中使用。

使用 Visual Studio 2019 (v16.1),可以在“配置属性\高级\首选构建工具架构”下的项目属性对话框中完成此操作。指定 x64。

对于旧版本的 Visual Studio,需要编辑 vcxproj。这记录在演练:使用 MSBuild 创建 Visual C++ 项目中

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