Ошибка c1001 внутренняя ошибка в файле компилятора

Visual Studio Professional 2013 Visual Studio Professional 2013 Visual Studio Premium 2013 Visual Studio Premium 2013 Еще…Меньше

Симптомы

При построении проекта Visual C++ в Visual Studio 2013 Update 5, использующий определенные типы из сборки .NET, может появиться следующее сообщение об ошибке:

Неустранимая ошибка C1001: Внутренняя ошибка в компиляторе.
(файл компилятора «f:ddvctoolscompilercxxfeslp1cesu.c», строка 6378)

Решение

Исправление от корпорации Майкрософт доступно. Тем не менее оно предназначено только для устранения проблемы, указанной в данной статье. Предлагаемое исправление должно применяться исключительно в системах, в которых обнаружена эта специфическая неполадка.

Чтобы устранить эту проблему, установите это исправление здесь.

Временное решение

Чтобы обойти эту проблему, не используйте последний тип, указанный в сообщении об ошибке. При использовании этого типа в других языках .NET, таких как C#, не подвержены рассматриваемой проблеме. Таким образом сборки оболочки могут создаваться для предоставления непрямой доступ уязвимого типа.

Ссылки

Дополнительные сведения о Visual Studio 2013 Update 5 Описание из Visual Studio 2013 обновления 5см.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

description title ms.date f1_keywords helpviewer_keywords ms.assetid

Learn more about: Fatal Error C1001

Fatal Error C1001

11/04/2016

C1001

C1001

5736cdb3-22c8-4fad-aa85-d5e0d2b232f4

Fatal Error C1001

INTERNAL COMPILER ERROR(compiler file file, line number)

The compiler cannot generate correct code for a construct, often due to the combination of a particular expression and an optimization option, or an issue in parsing. If the compiler file listed has a utc or C2 path segment, it is probably an optimization error. If the file has a cxxfe or c1xx path segment, or is msc1.cpp, it is probably a parser error. If the file named is cl.exe, there is no other information available.

You can often fix an optimization problem by removing one or more optimization options. To determine which option is at fault, remove options one at a time and recompile until the error message goes away. The options most commonly responsible are /Og (Global optimizations) and /Oi (Generate Intrinsic Functions). Once you determine which optimization option is responsible, you can disable it around the function where the error occurs by using the optimize pragma, and continue to use the option for the rest of the module. For more information about optimization options, see Optimization best practices.

If optimizations are not responsible for the error, try rewriting the line where the error is reported, or several lines of code surrounding that line. To see the code the way the compiler sees it after preprocessing, you can use the /P (Preprocess to a file) option.

For more information about how to isolate the source of the error and how to report an internal compiler error to Microsoft, see How to Report a Problem with the Visual C++ Toolset.

I’m getting a C1001 error while attempting to build in Visual Studio 2019 Version 16.7.2. This is a C++ project that has previously built fine until a change set I am attempting to build today.

The exact error is as follows: (with project specific path redacted)

1>d:work[...](82): fatal error C1001: An internal error has occurred in the compiler.

1>(compiler file 'd:agent_work3ssrcvctoolscompilerutcsrcp2main.c', line 187)

Notes below:

  1. The error only happens in Release. Debug builds and runs.
  2. If I turn off all optimizations in Release the error goes away.
  3. The location where the error occurs seems to be unrelated to recent changes I have made to the project i.e. VS is reporting the error in a translation unit that had been building without problem until unrelated changes in another TU were made.
  4. The location where the error occurs seems to not actually be problematic in the sense that if I comment out the implementation of the function there and just return a default value from the function so that the program is syntactically correct, the error occurs in the next the function in the same file.
  5. Turning off Whole Program Optimization and Link Time Code Generation does not fix the problem.

asked Aug 28, 2020 at 19:10

jwezorek's user avatar

jwezorekjwezorek

8,2381 gold badge29 silver badges43 bronze badges

4

Автор Тема: Внутренняя ошибка в файле компилятора[РЕШЕНО]  (Прочитано 11441 раз)
Larry

Гость


Доброе утро, форумчане! Пишу программу для работы с com-портом и использую библиотеку QSerialDevice. Когда я создаю список доступных скоростей передачи данных, то появляется ошибка: fatal error C1001: Внутренняя ошибка в файле компилятора.
Вот код:

void CGPSTerminal::initInterface()
{
SPEEDCOMPORT speedComPort[] = // Ошибка появляется при объявлении и инициализации массива структур
{
(tr(«50»), AbstractSerial::BaudRate50),
(tr(«75»), AbstractSerial::BaudRate75),
(tr(«110»), AbstractSerial::BaudRate110),
(tr(«134»), AbstractSerial::BaudRate134),
(tr(«150»), AbstractSerial::BaudRate150),
(tr(«200»), AbstractSerial::BaudRate200),
(tr(«300»), AbstractSerial::BaudRate300),
(tr(«600»), AbstractSerial::BaudRate600),
(tr(«1200»), AbstractSerial::BaudRate1200),
(tr(«1800»), AbstractSerial::BaudRate1800),
(tr(«2400»), AbstractSerial::BaudRate2400),
(tr(«4800»), AbstractSerial::BaudRate4800),
(tr(«9600»), AbstractSerial::BaudRate9600),
(tr(«14400»), AbstractSerial::BaudRate14400),
(tr(«19200»), AbstractSerial::BaudRate19200),
(tr(«38400»), AbstractSerial::BaudRate38400),
(tr(«56000»), AbstractSerial::BaudRate56000),
(tr(«57600»), AbstractSerial::BaudRate57600),
(tr(«76800»), AbstractSerial::BaudRate76800),
(tr(«115200»), AbstractSerial::BaudRate115200),
(tr(«128000»), AbstractSerial::BaudRate128000),
(tr(«230400»), AbstractSerial::BaudRate230400),
(tr(«256000»), AbstractSerial::BaudRate256000),
(tr(«460800»), AbstractSerial::BaudRate460800),
(tr(«500000»), AbstractSerial::BaudRate500000),
(tr(«576000»), AbstractSerial::BaudRate576000),
(tr(«921600»), AbstractSerial::BaudRate921600),
(tr(«1000000»), AbstractSerial::BaudRate1000000),
(tr(«1152000»), AbstractSerial::BaudRate1152000),
(tr(«1500000»), AbstractSerial::BaudRate1500000),
(tr(«2000000»), AbstractSerial::BaudRate2000000),
(tr(«2500000»), AbstractSerial::BaudRate2500000),
(tr(«3000000»), AbstractSerial::BaudRate3000000),
(tr(«3500000»), AbstractSerial::BaudRate3500000),
(tr(«4000000»), AbstractSerial::BaudRate4000000)
};

m_port = new AbstractSerial(this);

QStringList listSpeedComPort;

/*for(int index = 0; index < MAX_INDEX_SPEED; index++)
listSpeedComPort << speed[index].speed;*/

//m_ui->m_cbSpeedComPort->addItems(listSpeedComPort);

connect(m_ui->m_tbUpdateListComPort, SIGNAL(clicked()), this, SLOT(slotUpdateListComPort()));
connect(m_ui->m_pbOpenComPort, SIGNAL(clicked()), this, SLOT(slotOpenComPort()));
}

« Последнее редактирование: Декабрь 02, 2011, 09:48 от Larry »
Записан
GreatSnake

Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921

Просмотр профиля


Какой смысл заводить неиспользуемый массив speedComPort?
И причём здесь Пользовательский интерфейс (GUI)?

PS. скорее всего дело в tr(). Ты планируешь как-то переводить числа? Зачем Непонимающий

« Последнее редактирование: Декабрь 01, 2011, 10:56 от GreatSnake »
Записан

Qt 5.11/4.8.7 (X11/Win)

Larry

Гость


Извините, что не отвечал,..не было на месте. Убрал tr() не помогло, поигрался с оптимизацией тоже самое…Что может быть еще?


Записан
GreatSnake

Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921

Просмотр профиля


Показывай описание SPEEDCOMPORT и CGPSTerminal.


Записан

Qt 5.11/4.8.7 (X11/Win)

Larry

Гость


struct SPEEDCOMPORT
{
        QString strSpeed;
        AbstractSerial::BaudRate baudRate;
};

Описание CGPSTerminal завтра с утра покажу, все на работе осталось Улыбающийся…спасибо


Записан
LisandreL

Птица говорун
*****
Offline Offline

Сообщений: 984

Надо улыбаться

Просмотр профиля


Стоп! Блин, я туплю.
Структуры же инициализируются фигурными скобками, а у вас круглые.


Записан
Larry

Гость


Стоп! Блин, я туплю.
Структуры же инициализируются фигурными скобками, а у вас круглые.

это не Вы тупите, а я Улыбающийся…дожился блин…спасибо огромное, что ткнули носом Улыбающийся


Записан
LisandreL

Птица говорун
*****
Offline Offline

Сообщений: 984

Надо улыбаться

Просмотр профиля


это не Вы тупите, а я

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


Записан
Larry

Гость


еще раз огромное спасибо, просто мне надо быть повнимательней Смеющийся


Записан
GreatSnake

Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921

Просмотр профиля


еще раз огромное спасибо, просто мне надо быть повнимательней Смеющийся

Кстати, если бы ты посмотрел описание ошибки Fatal Error C1001 и отключил оптимизацию, то вполне возможно облегчил задачу компилятора по выявлению ошибки)


Записан

Qt 5.11/4.8.7 (X11/Win)

Larry

Гость


спасибо, учту


Записан

@smedellin90

The project was built on my system using boost_1_60 and cmake version 3.14.0. The prompt printed out that the build was successful, and I am able to open the project on Visual Studio 2019.

When I go to compile example_client.cpp , I get the following compiler error:

1>------ Build started: Project: example_server, Configuration: Debug x64 ------ 1>example_server.cpp 1>Unknown compiler version - please run the configure tests and report the results 1>C:UserssmedellinDocumentsopcuafreeopcuaincludeopc/ua/protocol/variant.h(87,1): error C1001: An internal error has occurred in the compiler. 1>C:UserssmedellinDocumentsopcuafreeopcuaincludeopc/ua/protocol/variant.h(87,1): error C1001: (compiler file 'd:agent_work3ssrcvctoolsCompilerCxxFEslp1ctypes.c', line 4589) 1>C:UserssmedellinDocumentsopcuafreeopcuaincludeopc/ua/protocol/variant.h(87,1): error C1001: To work around this problem, try simplifying or changing the program near the locations listed above. 1>C:UserssmedellinDocumentsopcuafreeopcuaincludeopc/ua/protocol/variant.h(87,1): error C1001: Please choose the Technical Support command on the Visual C++ 1>C:UserssmedellinDocumentsopcuafreeopcuaincludeopc/ua/protocol/variant.h(87,1): error C1001: Help menu, or open the Technical Support help file for more information 1>C:UserssmedellinDocumentsopcuafreeopcuaincludeopc/ua/protocol/variant.h(93): message : see reference to class template instantiation 'OpcUa::has_begin_end<T>' being compiled 1>Done building project "example_server.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I have tried to fix by adjusting the last if statement of visualc.hpp to

if (MSC_VER > 1922)

instead of

if (MSC_VER > 1900)

Nevertheless, I still get the error listed above.

@AdmiralPellaeon

I also have problems with the variant. Can’t compile the library anymore:

2>D:projectscppfreeopcua-master-2019-08-21includeopc/ua/protocol/variant.h(87,1): error C1001: Interner Compilerfehler.

@614ir

The project was built on my system using boost_1_60 and cmake version 3.14.0. The prompt printed out that the build was successful, and I am able to open the project on Visual Studio 2019.

When I go to compile example_client.cpp , I get the following compiler error:

1>------ Build started: Project: example_server, Configuration: Debug x64 ------ 1>example_server.cpp 1>Unknown compiler version - please run the configure tests and report the results 1>C:UserssmedellinDocumentsopcuafreeopcuaincludeopc/ua/protocol/variant.h(87,1): error C1001: An internal error has occurred in the compiler. 1>C:UserssmedellinDocumentsopcuafreeopcuaincludeopc/ua/protocol/variant.h(87,1): error C1001: (compiler file 'd:agent_work3ssrcvctoolsCompilerCxxFEslp1ctypes.c', line 4589) 1>C:UserssmedellinDocumentsopcuafreeopcuaincludeopc/ua/protocol/variant.h(87,1): error C1001: To work around this problem, try simplifying or changing the program near the locations listed above. 1>C:UserssmedellinDocumentsopcuafreeopcuaincludeopc/ua/protocol/variant.h(87,1): error C1001: Please choose the Technical Support command on the Visual C++ 1>C:UserssmedellinDocumentsopcuafreeopcuaincludeopc/ua/protocol/variant.h(87,1): error C1001: Help menu, or open the Technical Support help file for more information 1>C:UserssmedellinDocumentsopcuafreeopcuaincludeopc/ua/protocol/variant.h(93): message : see reference to class template instantiation 'OpcUa::has_begin_end<T>' being compiled 1>Done building project "example_server.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I have tried to fix by adjusting the last if statement of visualc.hpp to

if (MSC_VER > 1922)

instead of

if (MSC_VER > 1900)

Nevertheless, I still get the error listed above.

So, did you solve it? I am having exactly the same problem :/

@AdmiralPellaeon

Yes, I managed to compile it, but that’s some months ago. As far as i remember I didn’t change the code. Perhaps you can try it with a newer version of boost.

@614ir

Okey, thank you for the response

________________________________
From: AdmiralPellaeon <notifications@github.com>
Sent: Monday, May 11, 2020 10:28 AM
To: FreeOpcUa/freeopcua <freeopcua@noreply.github.com>
Cc: 614ir <ir_614@hotmail.com>; Comment <comment@noreply.github.com>
Subject: Re: [FreeOpcUa/freeopcua] Visual Studio 2019 C1001: Internal Error has occurred (#338)

Yes, I managed to compile it, but that’s some months ago. As far as i remember I didn’t change the code. Perhaps you can try it with a newer version of boost.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#338 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/APRDI44UCA3LCIIQH4RUIMTRQ6ZK5ANCNFSM4IH6QVPA>.

@AdmiralPellaeon

I checked my files. Attached you find all src files with have a newer time stamp compared to the check out solution from git.
And I definetly use much newer version of boost.
changed_files.zip

Возможно, вам также будет интересно:

  • Ошибка c1000 mitsubishi outlander xl
  • Ошибка c1000 mitsubishi lancer 10
  • Ошибка c100 00 форд фокус
  • Ошибка c1 6703 6 ps vita
  • Ошибка c1 2858 3 на psp vita

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии