Visual C++ 6.0 - фатальная ошибка C1063

я преобразовал свое приложение, изначально написанное в MS Visual Studio 2008, для компиляции в MS Visual C++ 6.0 (см. мой предыдущий вопрос).

После преобразования весь мой код теперь компилируется в Release без отладочной информации. В Debug я столкнулся со странной проблемой... ошибка C1063.

fatal error C1063: 
Error executing cl.exe. 
main.obj - 1 error(s), 163 warning(s)

На ваш взгляд, как лучше всего решить эту проблему?


person Sbaush    schedule 18.10.2010    source источник
comment
Я думаю, что это плохая практика — сбрасывать коды ошибок без объяснения причин сообществу SO.   -  person    schedule 18.10.2010


Ответы (2)


Неустранимая ошибка C1063

Визуальная студия 6.0

ограничение компилятора: переполнение стека компилятора

  • Программа была слишком сложной и вызывала переполнение стека компилятора. Эта ошибка может быть результатом рекурсивного включения.

Советы

  • Упростите программу, разбив ее на более мелкие исходные файлы, и перекомпилируйте.

У вас есть отладочный код, который случайно оказался рекурсивным?

person Mitch Wheat    schedule 18.10.2010
comment
Мой отладочный код, на мой взгляд, не рекурсивен (на самом деле в MSVS2008 все работает корректно). Есть ли у вас предложение о том, как я могу проверить, является ли мой код отладки рекурсивным? Спасибо за быстрый ответ... - person Sbaush; 18.10.2010
comment
к сожалению, Visual C++ 6.0 вызывает эту ошибку с уровнем предупреждения 3. с уровнем предупреждения 0 эта проблема не сравнима. Спасибо. - person Sbaush; 18.10.2010

Я только что столкнулся с этой ошибкой...

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