фатальная ошибка C1001: ОШИБКА ВНУТРЕННЕГО КОМПИЛЕРА (файл компилятора ‘msc1.cpp’, строка 1794)

Я попытался скомпилировать проект с помощью Visual Studio 6 SP6 и получил следующее:

usbcore.h(18) : fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1794)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information

Строка 18 файла usbcore.h содержит директиву include:

18: #include "usbiface.h"

Пустой или несуществующий usbiface.h выдает ту же ошибку. Я прокомментировал эту строку и получил ту же ошибку, но для следующего включаемого файла.

Подводя итог: ошибка компилятора происходит для каждого #include директива, которая относится к общим заголовкам проекта.

3

Решение

В моем случае изменение тега WholeProgramOptimizationtrue с true на false решило проблему.

2

Другие решения

Я выяснил, что вызвало эту ошибку. Один из путей включения (передаваемый компилятору с ключом / I) имел обратную косую черту.

Компилятор cmdline: CPP /nologo /MT /W3 /GX /Zi /Od /I "$(ZLIB_PATH)" /I "..\headers"

а также ZLIB_PATH был задний ход. Удаление обратной косой черты решило проблему.

1

Я столкнулся с этой проблемой, когда оставил скобки вне определения ctor. Это была глупая ошибка, но было очень сложно проверить все эти сложные исправления. Так что я просто предлагаю это как возможность. Я не ожидал внутренней ошибки компилятора.

1

В моем случае (VC6.0 SP6a) это связано с using заявление. Кажется, компилятор не может определить, определяю ли я Foo::Bar или же Bar (в глобальном пространстве имен).

namespace Foo {
class Bar;
}

using Foo::Bar;

class Bar {
};
0
По вопросам рекламы [email protected]