Я только что столкнулся с этой ошибкой...
g++ сделает это правильно, поскольку у него есть ограничения, но не такие ограниченные, как cl...
Я нашел эту страницу, которая, я думаю, представляет интерес в отношении этого вопроса.
http://msdn.microsoft.com/en-us/library/bdscwf1c%28v=vs.80%29.aspx
Со своей стороны я попытался /Zm2000 выделить 1 ГБ пространства для стека компилятора, но это не решило проблему. Единственный другой способ состоял в том, чтобы не иметь /O2 (т.е. с /Od он скомпилировался и слинковался просто отлично).
На самом деле, при первой компиляции компоновщик падает, а при 2+ попытках cl выдает эту ошибку. Я думаю, что это связано с предварительно скомпилированными заголовками.
На всякий случай, поскольку некоторые люди спрашивали, я использую свой заголовок Controlled Variables, который на данный момент составляет около 600 КБ. Просто шаблоны, но чертовски простые шаблоны (правда, взгляните на них!) Так что, я думаю, они используют алгоритм оптимизации, который, вероятно, проверяет большинство, если не все функции шаблонов, а не только те, которые необходимы (а это очень небольшое число. )
http://snapwebsites.org/project/controller-vars
person
Alexis Wilke
schedule
25.10.2011