C3859 계속 PCH에 대한 가상 메모리를 만들지 못했습니다.

가끔 프로젝트나 엔진 코드를 빌드하다 보면 C3859 오류가 발생할 때가 있다. -Zm146 옵션을 추가하라는 컴파일러 안내가 있었다. 하지만 언리얼은 VCToolChain 에서 /Zm850 이 기본으로 훨씬 많은 양을 추가하고 있는 상태였다.

코드에는 있지만 정말 /Zm850 옵션이 적용되는지 의심스러워서 확인해보았다. IncrediBuild 를 사용하고 있어서 엔진 설치 경로에서 Intermediate/Build/XGETasks.xml 을 확인했다.

Tools > Tool Element 에 Params 로 실제 cl 에 넘어가는 파일 경로를 확인할 수 있다. '파일명.cpp.obj.response' 형식이다. 파일을 열어서 확인해 보니 /Zm850 옵션이 적용되어 있었다.

혹시 실패가 특정 PC 에서 발생하고 있는지 확인해보니 특정 PC 에서 발생하고 있었다. IncrediBuild Coordinator 로 column 에 Environment > Virtual Memory 를 확인해보니 Avail 용량이 800MB 정도 밖에 안되는 PC 였다. 실제 가상 메모리가 부족한 상황이었다. -ㅁ-

몇 일간 빌드 옵션 문제 인가 싶어서 옵션을 바꿔가며 삽질했는데 현실은 환경 문제였다. :(