2017-09-20 8 views
0

빌드 된 대형 Windows C++ 응용 프로그램의 빌드에 링크 타임 코드gen (LTCG) 및 전체 프로그램 최적화 (WPO)를 사용하려고합니다. Visual Studio 2017을 사용하십시오. 64 비트 제품은 훌륭하게 빌드되지만 32 비트 빌드의 codegen 단계는 메모리가 부족합니다. How to: Enable a 64-Bit, x64 hosted Visual C++ toolset on the command line32 비트 실행 파일을 빌드 할 때 64 비트 도구 세트를 사용하도록 Visual C++ 프로젝트를 구성하십시오.

특히 :

32 비트 및 64 비트 도구를 여기에 설명 된대로

그래서, 나는 32 비트 64 비트 LINK.EXE를 사용하는 빌드 전환해야 동일한 코드를 생성하지만 64 비트 도구는 미리 컴파일 된 헤더 심볼 및 전체 프로그램 최적화 (/ GL 및/LTCG) 옵션에 대해 더 많은 메모리를 지원합니다. 32 비트 도구를 사용할 때 메모리 제한이 발생하면 64 비트 도구를 사용해보십시오.

명령 줄 빌드에서이 작업을 수행하는 것으로 설명되어 있지만 devenv 환경에서 사용해야합니다. 32 비트 빌드에 대해 설정된 64 비트 도구를 사용하여 제어 할 솔루션 또는 프로젝트 설정을 성공적으로 찾지 못했습니다.

.vcxproj 파일을 직접 편집해야하지만 추가 할 항목이 확실하지 않을 것으로 생각됩니다. 누구든지 내 32 비트 빌드를이 방법으로 설정하는 방법을 알려 줄 수 있습니까?

답변

0

내 자신의 대답을 찾을 수 ... 당신은 할 필요가 않는 .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>