Problema de compilación con MSVS 2010 y el estándar C ++

Estoy tratando de construir, usando msvs 2010 el proyecto encontrado en el siguiente git:

https://github.com/Joonhwan/exprtk

El problema es cuando comento la línea 48 '#define exprtk_lean_and_mean' en el archivo exprtk.hpp, aparece el siguiente error del compilador:

<code>Error   1   error C1128: number of sections exceeded object file format limit : compile with /bigobj
</code>

Al buscar en Google el error, parece indicar que la unidad de traducción compilada se ha compilado a algo más grande que un límite arbitrario, y agregar 'bigobj' a la línea de comando debería solucionar el problema (lo que hace). Compilar el código con gcc (4.3), funciona sin problemas.

Mis preguntas son:

¿C ++ pone un límite a la cantidad de tipos que se pueden tener en una unidad de traducción?

¿Es la mala forma en que se presenta el código en este proyecto? (cuando busco en Google noté que muchas bibliotecas de boost tienen el mismo problema, por ejemplo: Boost.Sprit)

Respuestas a la pregunta(2)

Su respuesta a la pregunta