메이플스토리에서는 개발 단계에서 64비트 빌드를 관리하지 않고 있었기에, 64비트 클라이언트로 전환하기 위해선 64비트 빌드 에러를 가장 먼저 해결해야 했습니다. 이 과정에서 기억에 남는 문제와 해결 방법을 몇 가지 소개 드리고자 합니다.
  • `C1128` 에러
디버그 빌드에서 가장 먼저 맞닥뜨린 에러였습니다. msdn 문서를 살펴보니 코드 컴파일 후 생성되는 각 obj 파일마다 최대 2^16(65,279) 만큼의 섹션 개수를 지정할 수 있도록 제한되어 있어, obj 파일에 기록 가능한 최대 섹션 수를 초과하면 C1128 빌드 에러가 발생하는 것입니다.발생했던 원인은 복합적인데요. 디버그 빌드는 /Gy 옵션을 사용 중이었고, x64에는 pdata라는 섹션을 추가로 기록하기 때문에 몇몇 코드 양이 많은 cpp 파일에서 발생했습니다. 이에 `/bigobj` 빌드 옵션을 추가해 obj 파일에서 사용하는 섹션 수를 2^32(약 42억개) 만큼 늘려서 문제를 해결했습니다.

아씨발 문서보니까 존나 웃음벨이네 ㅋㅋ