C1001 внутренняя ошибка в файле компилятора
При компиляции на x64 plattform я получаю следующую ошибку:
Если я изменю настройки на файл препроцессора (Да), я не получу никакой ошибки.
О моей среде: обновление Microsoft Visual Studio 2005 до 2010 года
Я попытался включить gsl.h для рук специально в свой VS2013. Когда я пытаюсь построить проект, он говорит: c:\users\njain6\documents\visual студия 2013\projects\gcldemo\string_span.h( 336): фатальная ошибка C1001: в компиляторе произошла внутренняя ошибка. Шаги, которым я следовал: Я скачал файлы.
У меня была эта проблема с VS2015 при локальном построении в Windows.
Чтобы решить эту проблему, я удалил свою папку сборки (Выходной каталог, как показано в Properties/General)) и перестроил проект.
Это всегда помогает, когда во время сборки происходят странные вещи.
Я много раз сталкивался с этой ошибкой в VC++. Выполните следующие действия. Они иногда помогали мне в этом вопросе:
- Взгляните на точное местоположение, указанное ошибкой компилятора.
- Найдите любые внешние типы или классы, используемые там в этом месте.
- Измените порядок “include path” файлов, найденных на шаге 2, и перестройте решение.
- Я надеюсь, что это поможет .
Я получаю ту же ошибку с VC2012. Настройка оптимизации свойств проекта на Отключенный (/Od) решила проблему.
В моем решении я удалил выходной файл dll проекта и сделал перестройку проекта.
Я столкнулся с той же ошибкой и потратил довольно много времени на поиски проблемы. Наконец я обнаружил, что функция, на которую указывала ошибка, имела бесконечный while loop. Исправлено, и ошибка исчезла.
В моем случае было использование статической функции lambda с аргументом QStringList . Если я прокомментировал области, в которых использовался QStringList , файл компилировался, в противном случае компилятор сообщал об ошибке C1001. Изменение функции lambda на нестатическую решило проблему (очевидно, другими вариантами могли бы быть использование глобальной функции в анонимном пространстве имен или статического частного метода класса).
Я получил эту ошибку, используя библиотеку boost с VS2017. Очистка раствора и его восстановление решили проблему.
У меня также была эта проблема при обновлении с VS2008 до VS2010.
Может быть, есть аналогичный патч для VS2005 ?
Обновление : оказывается, основная причина в том, что мой жесткий диск выходит из строя. После того, как другие симптомы побудили меня запустить chkdsk, я обнаружил, что большинство поврежденных секторов, которые были заменены, находились в .obj, .pdb и других файлах, созданных компилятором.
Я получил это с кодом во время рефакторинга с недостаточной осторожностью (и с шаблонами, это было то, что сделало ICE, а не обычную ошибку времени компиляции)
Когда я строю проект по visual studio 2013, он работает правильно. Но после сборки с visual studio 2015 я сталкиваюсь со следующими ошибками. Как я могу решить эту проблему? фатальная ошибка C1001: в компиляторе произошла внутренняя ошибка. Ошибка командной строки D8040: ошибка создания или.
У меня была эта ошибка, когда я компилировался в цель x64. Изменение на x86 позволит мне скомпилировать программу.
Иногда помогает переупорядочить код. Однажды у меня была эта ошибка в Visual Studio 2013, и это было только решена путем изменения порядка членов класса (у меня был член enum, несколько членов струны и некоторые перечисления членов того же самого класса перечисления. Он компилируется только после того, как я поставил сначала члены перечисления).
В моем случае это было причиной проблемы:
Изменение auto на явный тип исправило проблему.
Была аналогичная проблема с Visual Studio 2017 после перехода на C++17:
Решается с помощью Visual Studio 2019.
Похожие вопросы:
У меня есть проблема, когда я строю проект в Visual Studio 2010 для 64bit. Я не смог построить для 64-битной библиотеки boost, я получаю ниже ошибку. Я могу строить для 32-битных, но не для.
Я получаю следующую ошибку при компиляции в режиме выпуска. 1>d:\users\eyal\projects\code\yalla\core\src\runbox\win32\window.cpp : fatal error C1001: An internal error has occurred in the.
Я попытался включить gsl.h для рук специально в свой VS2013. Когда я пытаюсь построить проект, он говорит: c:\users\njain6\documents\visual студия 2013\projects\gcldemo\string_span.h( 336).
Когда я строю проект по visual studio 2013, он работает правильно. Но после сборки с visual studio 2015 я сталкиваюсь со следующими ошибками. Как я могу решить эту проблему? фатальная ошибка C1001.
Я только что обновил Microsoft Visual Studio Enterprise 2015 с обновления 2 до обновления 3 и теперь получаю следующую ошибку: фатальная ошибка C1001: в компиляторе произошла внутренняя ошибка.
У меня есть программа, которая решает головоломки судоку, и я заставил ее работать последовательно, но теперь я пытаюсь распараллелить ее с помощью openMP. Функция solvePuzzle() включает в себя.
При компиляции на платформе x64 я получаю следующую ошибку:
О моей среде: Обновление Microsoft Visual Studio 2005 до 2010
- возможный дубликат внутренней ошибки компилятора VC ++
- Еще одна ошибка компилятора, но в другом месте. Не точный дубликат.
- @venkat - Может быть, мы увидим код около строки 1572?
- if (t2.GetSecond ()! = sec || t2.GetMillisecond ()! = milli) здесь я получаю ошибку
У меня была эта проблема с VS2015 при локальной сборке в Windows.
Это всегда помогает, когда во время сборки происходят странные вещи.
Я много раз встречал эту ошибку в VC ++. Проделайте следующие шаги. Они иногда помогали мне с этой проблемой:
- Взгляните на точное местоположение, указанное ошибкой компилятора.
- Найдите любые используемые внешние типы или классы в этом месте.
- Измените порядок включить путь к файлам, найденным на шаге 2, и перестройте решение.
- Я надеюсь, что это поможет .
Я получаю такую же ошибку с VC2012. Установка для свойств проекта значения "Отключено" (/ Od) решила проблему.
В своем решении я удалил выходной файл dll проекта и выполнил перестройку проекта.
Я столкнулся с той же ошибкой и потратил довольно много времени на поиски проблемы. Наконец, я обнаружил, что функция, на которую указывает ошибка, имеет бесконечный цикл while. Исправлено, и ошибка исчезла.
В моем случае использовалась статическая лямбда-функция с QStringList аргумент. Если бы я прокомментировал регионы, где QStringList был использован скомпилированный файл, иначе компилятор сообщил об ошибке C1001. Изменение лямбда-функции на нестатическую решило проблему (очевидно, другие варианты могли заключаться в использовании глобальной функции в анонимном пространстве имен или статическом частном методе класса).
Я получил эту ошибку, используя библиотеку boost с VS2017. Очистив раствор и перестроив его, проблема решена.
У меня также была эта проблема при обновлении с VS2008 до VS2010.
Может есть аналогичный патч для VS2005?
Обновить: оказывается, основная причина в том, что мой жесткий диск выходит из строя. После того, как другие симптомы побудили меня запустить chkdsk, я обнаружил, что большинство поврежденных секторов, которые были заменены, находились в .obj, .pdb и других файлах, созданных компилятором.
Я получил это с кодом во время рефакторинга без должного внимания (и с шаблонами, это было то, что сделало ICE, а не обычную ошибку времени компиляции)
У меня была эта ошибка при компиляции для цели x64. Переход на x86 позволил мне скомпилировать программу.
Иногда помогает переупорядочивание кода. Однажды у меня была эта ошибка в Visual Studio 2013, и это было решено только путем переупорядочения членов класса (у меня был член перечисления, несколько членов строк и еще несколько членов перечисления того же класса перечисления. Он скомпилирован только после того, как я поставил сначала члены перечисления).
В моем случае это было причиной проблемы:
Изменение auto к явному типу устранена проблема.
Была аналогичная проблема с Visual Studio 2017 после перехода на C ++ 17:
Когда я использую VS2017 15.8.4 и Fastbuild 0.96 для распределенной сборки Unreal Engine 4.2, я получил следующую ошибку:
4>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.15.26726\include\comdef.h : fatal error C1001: An internal error has occurred in the compiler. 4>(compiler file 'msc1.cpp', line 1518) 4> To work around this problem, try simplifying or changing the program near the locations listed above. 4>Please choose the Technical Support command on the Visual C++ 4> Help menu, or open the Technical Support help file for more information
Я обнаружил, что эта проблема возникла в последней версии Visual Studio для распределенной сборки, потому что: 1. У меня не было этой проблемы в VS2017 15.7.6, которая является более старой версией. 2. Нет проблем при отключении распределенной сборки
Я обнаружил ту же проблему в форум визуальной студии, но похоже, что они не предоставили решения для VS2017 15.8.4. Есть ли решение для VS2017 15.8.4?
В вашем посте нет вопросов. Чего ты от нас ждешь? Предложение, данное в связанном документе, - обновить до 16.0 или вы можете понизить до 15.7.6. Почему это для вас неприемлемо?
Я видел это в компиляторах MS с 1995 года. Вы не нашли ничего шокирующего. MS стало лучше, но иногда вы все равно пишете код, который ставит компилятор в тупик. Я видел эквивалент GCC несколько раз, но да - не так часто.
@СМ. Но здесь его код MS, который ставит в тупик его собственный компилятор.
@john ага. вы, вероятно, упомянули об этом в каком-то неожиданном контексте, которого не предвидели авторы компилятора. А может что-то где-то переливается .
Распределенные сборки могут играть трюки с предварительно скомпилированными заголовками и т. д. - это может обременить компилятор. Я предлагаю попытаться выяснить разницу между единицей перевода (наблюдаемой компилятором), когда она строится нормально, и быстрой сборкой.
При компиляции в режиме выпуска я получаю следующую ошибку.
Я использую VS2015 Update 2 RC.
Я не уверен, но, может быть, это ошибка в оптимизаторе?
Код, вызывающий его, следующий:
NativeWindow - это собственное окно любой ОС.
Чтобы сделать заметку.
Если я удалю наследование и заменим его чем-то вроде этого.
Все будет хорошо!
Что, по-видимому, вызывает такое поведение, является вывод NativeControl из NativeWindow.
Шаги, чтобы воспроизвести его следующим образом:
- Удалите объявление dtor и определения из класса Window.
- Попробуйте построить (не перестроить).
- Компилятор будет жаловаться и давать вам кучу ошибок.
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\memory(1194): error C2338: can't delete an incomplete type 1> 1> 1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\memory(1195): warning C4150: deletion of pointer to incomplete type 'Yalla::Window::NativeControl'; no destructor called 1>
d:\Users\Eyal\Projects\Code\Yalla\core\src\runbox\include\window.h(13): note: see declaration of 'Yalla::Window::NativeControl' 1>
window.cpp 1> 1>Build FAILED.
- Добавьте dtor в класс Window.
- Снова создать (не перестроить).
- В этот момент компилятор должен пожаловаться на следующую ошибку: «фатальная ошибка C1001: внутренняя ошибка произошла в компиляторе».
The interesting part is that doing rebuild seems to fix the problem!
То, что я хочу достичь, в основном имеет фактическую реализацию NativeWindow в другом файле, в основном для простоты и не столько о повторном использовании.
Я полагаю, что вместо того, чтобы делать это в наследовании , что может смутить шаблон unique_ptr , я также могу это сделать с помощью композиции и выставить экземпляр NativeWindow через getter, а может работать, но вопрос в том, есть ли лучшие способы сделать это?
I'm relearning C++ after a very long time I didn't touch it so if some of the things I'm doing don't make sense, please tell me about it!
Читайте также: