내 프로젝트를 컴파일하려고 할 때 내 (상당히 큰) C++ 프로젝트가 C1060: compiler is out of heap space
오류가 발생하는 지점으로 증가했습니다.Visual Studio에서 64 비트 Visual C++ Toolset 사용 20130
64 비트 Windows 10 컴퓨터에서 컴파일 중이지만 Visual Studio에서 32 비트 도구 세트로 프로젝트를 컴파일하고있는 것으로 보입니다 (아래 스크린 샷 참조). C1060 help page
는 64 비트 도구 세트를 사용하는 저를 요구하지만, 링크는 명령 줄로 컴파일 할 때 그것을 사용하는 방법에 대한 이야기를 제공했다.
이미 컴퓨터에 설치된 64 비트 컴파일러 도구 집합을 사용하도록 Visual Studio 2017에서 프로젝트 속성이나 다른 것을 설정하는 방법이 있습니까?
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
하는 것은 다음 추가 :이 줄을 찾아
열기 선호하는 텍스트 편집기로 .vcxproj 파일 :
* 컴파일러가 3GB의 주소 공간을 초과하면 병적 인 코드 기반 증상이 생깁니다. 프로젝트 전체의 크기가 중요하지는 않습니다. 각 모듈을 적절하게 모듈화해야합니다. 다루기 쉽다. –
@MatteoItalia 나는 대부분의 코드가 많은 템플릿과 헤더를 가진 하나의 번역 단위에 있다는 점에 동의한다. 그러나 지금은 코드베이스를 굴절시킬 시간이 없습니다. – Bernard
이상한 이유로, constant_not = std :: bool_constant ;를 사용하여'template 템플릿을 정의했을 때 컴파일러는'constant_not {}'. constant_not = std :: bool_constant ;를 사용하여 정의를'template 로 변경하면 메모리는 매우 관리하기 쉬운 300MB로 떨어집니다. 아마도 컴파일러 버그 일지 모르지만 더 많은 테스트를해야 할 것입니다. –
Bernard