Неустранимая ошибка C1128
превышено ограничение формата файла объектов: компиляция с /bigobj
Файл .obj превысил число допустимых разделов, ограничение формата файла объекта COFF.
Достижение этого ограничения раздела может быть результатом использования /Gy и отладочной сборки; /Gy приводит к переходу функций в собственные разделы COMDAT. В сборке отладки есть раздел сведений об отладке для каждой функции COMDAT.
C1128 также может быть вызван, если слишком много встроенных функций.
Чтобы исправить эту ошибку, разделите исходный файл на несколько файлов исходного кода, скомпилируйте без /Gy или скомпилируйте с помощью /bigobj (увеличение числа разделов в . Obj file). Если вы не компилируете с / Gy, необходимо указать оптимизации по отдельности, так как /O2 и /O1 оба подразумевают /Gy.
Если это возможно, компилируйте без сведений об отладке.
Кроме того, может потребоваться создать определенные экземпляры шаблонов в отдельных файлах исходного кода, а не выдавать их компилятору.
При переносе кода C1128, скорее всего, сначала появится при использовании компилятора x64 и гораздо более поздних версий с компилятором x86. x64 будет иметь по крайней мере 4 раздела, связанные с каждой функцией, скомпилированной /Gy или встраиваемой из шаблонов или встроенных классов: код, pdata и отладочная информация, а также, возможно, xdata. X86 не будет иметь pdata.