심각한 오류 C1128
개체 파일 형식 제한을 초과한 섹션 수 : /bigobj를 사용하여 컴파일
.obj 파일이 허용 가능한 섹션 수인 COFF 개체 파일 형식 제한을 초과했습니다.
이 섹션 제한에 도달하는 것은 /Gy 및 디버그 빌드 를 사용한 결과일 수 있습니다./Gy는 함수가 자체 COMDAT 섹션으로 이동하도록 합니다. 디버그 빌드에는 각 COMDAT 함수에 대한 디버그 정보 섹션이 있습니다.
인라인 함수가 너무 많은 경우에도 C1128이 발생할 수 있습니다.
이 오류를 해결하려면 소스 파일을 여러 소스 코드 파일로 나누거나/Gy 없이 컴파일하거나 /bigobj로 컴파일합니다(에서 섹션 수 늘리기. Obj 파일). /Gy로 컴파일하지 않으면 /O2 및 /O1 모두 /Gy를 의미하므로 최적화를 개별적으로 지정해야 합니다.
가능하면 정보를 디버깅하지 않고 컴파일합니다.
컴파일러에서 템플릿을 내보내지 않고 별도의 소스 코드 파일에 템플릿을 특정 인스턴스화해야 할 수도 있습니다.
코드를 포팅할 때는 x64 컴파일러를 사용할 때 C1128이 먼저 표시되고 나중에는 x86 컴파일러와 함께 표시될 가능성이 높습니다. x64에는 /Gy 컴파일 또는 템플릿 또는 클래스 인라인에서 인라인된 각 함수와 연결된 섹션이 4개 이상 있습니다. 코드, pdata 및 디버그 정보 및 xdata일 수 있습니다. X86에는 pdata가 없습니다.