Подтвердить что ты не робот

Штраф флага компилятора MSVS/bigobj

Основной поиск Google bigobj issue показывает, что многие люди испытывают Неустранимая ошибка C1128: "количество разделов превысило ограничение формата файла объекта: скомпилируйте с /bigobj ". Ошибка имеет больше шансов возникнуть, если в большой степени используется библиотека шаблонов С++, например Boost libraries или библиотеки CGAL.

Эта ошибка странная, потому что она дает решение самому себе: установите флаг флаг компилятора /bigobj!

Итак, вот мой вопрос: почему этот флаг не установлен по умолчанию? Должен быть штраф за использование этого флага, иначе он будет установлен по умолчанию. Это наказание не задокументировано в MSDN. Кто-нибудь знает?

Я задаю вопрос, потому что я задаюсь вопросом, не стоит ли устанавливать конфигурационную систему CGAL по умолчанию.

4b9b3361

Ответ 1

В документации упоминается важный недостаток /bigobj:

Линкеры, отправленные до Visual С++ 2005, не могут читать файлы .obj которые были созданы с /bigobj.

Таким образом, установка этого параметра по умолчанию ограничивает количество линкеров, которые могут потреблять результирующие файлы объектов. Лучше активировать его на основе потребности.