Penalización de la bandera del compilador MSVS / bigobj


La búsqueda básica de Google bigobj issue muestra que mucha gente está experimentando el Error Fatal C1128 : "número de secciones excedidas límite de formato de archivo objeto: compilar con / bigobj". El error tiene más posibilidades de ocurrir si se usa una biblioteca de plantillas de C++, como Boost librarieso CGAL libraries.

Ese error es extraño, porque da la solución a sí mismo: establezca la bandera del compilador /bigobj!

So aquí está mi pregunta: ¿por qué no se establece esa bandera por defecto? Debe haber una penalización por usar esa bandera, de lo contrario se establecería por defecto. Esta penalización no está documentada en MSDN. ¿Alguien tiene alguna pista?

Hago la pregunta porque me pregunto si el sistema de configuración de CGAL no debería establecer /bigobj por defecto.

Author: lrineau, 2013-02-27

1 answers

La documentación menciona un inconveniente importante para /bigobj:

Los enlazadores que se enviaron antes de Visual C++ 2005 no pueden leerse .archivos obj que se produjeron con /bigobj.

Por lo tanto, establecer esta opción por defecto restringiría el número de enlazadores que pueden consumir los archivos objeto resultantes. Mejor activarlo sobre la base de la necesidad.

 29
Author: Frédéric Hamidi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-12 18:57:56