Я получаю следующую ошибку, может ли кто-нибудь помочь мне, как ее исправить.

фатальная ошибка C1001: ВНУТРЕННЯЯ ОШИБКА КОМПИЛЯТОРА (файл компилятора 'f: \ vs70builds \ 3077 \ vc \ Compiler \ CxxFE \ sl \ P1 \ C \ pdbmgr.cpp', строка 149) Выберите команду технической поддержки в меню справки Visual C ++ , или откройте файл справки службы технической поддержки для получения дополнительной информации.

13
somaraj 7 Июл 2009 в 14:57

4 ответа

Лучший ответ

Это очень прискорбно. Такие признаки появляются время от времени без видимой причины. Даже MSDN рекомендует перейти к коду и поиграться с прагмами оптимизации там. Вы должны определить, какая конструкция вызывает эту индикацию, и как-то ее переписать. Или вы можете использовать более новую версию VC ++.

1
sharptooth 7 Июл 2009 в 11:00

Другие ответы верны, вы можете попробовать обойти ошибку компилятора, но она все еще существует. Чтобы добавить, тем временем Microsoft представляет автоматический отчет об ошибках, чтобы пользователи могли знать об этих ошибках и могли исправить их в будущем выпуске. Флаг называется /errorReport.

См. https : //docs.microsoft.com/de-de/cpp/build/reference/errorreport-report-internal-compiler-errors? view = vs-2019

0
usr1234567 9 Июн 2019 в 21:34

Нет, ты облажался. Вы сделали что-то, что выявило ошибку в компиляторе. Поиграйте с настройками оптимизации, #pragmas и возитесь с кодом, пока он не заработает.

И, возможно, отправьте отчет об ошибке на connect.microsoft.com

3
jalf 7 Июл 2009 в 11:05

ВНУТРЕННЯЯ ОШИБКА КОМПИЛЯТОРА (файл файла компилятора, номер строки) Компилятор не может сгенерировать правильный код для конструкции, вероятно, из-за комбинации выражения и параметра оптимизации. Попробуйте удалить один или несколько параметров оптимизации и перекомпилировать функцию, содержащую строку, указанную в сообщении об ошибке. Вероятно, вы можете решить проблему, удалив один или несколько параметров оптимизации. Чтобы определить, какая опция является неисправной, удаляйте опции по одной и перекомпилируйте, пока сообщение об ошибке не исчезнет. Чаще всего используются параметры / Og, / Oi и / Oa. После того, как вы определите, какая опция ответственна, вы можете отключить ее с помощью прагмы optimize для функции, в которой возникает ошибка, и продолжить использовать эту опцию для остальной части модуля. База знаний Microsoft содержит дополнительную информацию о C1001; см. http://support.microsoft.com/default.aspx? scid = kb; en-us; 134650.

5
Ravindra Acharya 16 Апр 2015 в 11:31