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

时间:2017-09-20 16:20:38

标签: visual-c++ linker visual-studio-2017

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

所以,我需要切换32位版本以使用64位link.exe,如下所述:How to: Enable a 64-Bit, x64 hosted Visual C++ toolset on the command line

具体做法是:

  

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

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

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

2 个答案:

答案 0 :(得分:1)

找到我自己的答案......您需要手动编辑.vcxproj文件并将其添加到PropertyGoup

<UseNativeEnvironment>true</UseNativeEnvironment>

所以我现在看起来像这样:

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
   <UseDebugLibraries>false</UseDebugLibraries>
   <UseOfMfc>Dynamic</UseOfMfc>
   <CharacterSet>Unicode</CharacterSet>
   <PlatformToolset>v141</PlatformToolset>
   <WholeProgramOptimization>true</WholeProgramOptimization>
   <UseNativeEnvironment>true</UseNativeEnvironment>
</PropertyGroup>

答案 1 :(得分:1)

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

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

对于旧版本的 Visual Studio,需要编辑 vcxproj。这记录在 Walkthrough: Using MSBuild to Create a Visual C++ Project

<PropertyGroup>
    <PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
相关问题