Під час використання Visual C++-2008 компілятор, з'являється повідомлення про помилку: "критична помилка C1859"


Причини


Під час запуску Microsoft Visual C++ 2008 року компілятор генерує файли або для створення проекту, з'являється таке повідомлення про помилку:
критична помилка C1859: ім'я файлу в заголовку неочікувані скомпільованого заголовка, просто, повторного компілятор може усунути цю проблему.
Крім того, цю проблему не усунуто, навіть під час виконання компілятор знову. Ця проблема виникає, якщо ввімкнуто параметр компілятор Створення та використання скомпільованого-заголовок , на комп'ютері під керуванням ОС Windows 7 або Windows Server 2008.

Примітка. Цю проблему, більше можуть виникнути запитання, якщо ввімкнуто параметр компілятор / Проаналізуйте .

Причина


Якщо ввімкнуто параметр компілятор Створення та використання Precompiled верхній колонтитул , компілятор вимагає, що файли скомпільованого заголовків та відносні модулі не переміщення між компіляцій. Однак функція адресу місця розташування-рандомізації (також відомий як з ASLR) випадково передбачає зміну розташування модулів в будь-який процес. Таким чином, помилка під час компіляції модулів перемістити.

Вирішення


Відомості про виправлення

Виправлення доступне від корпорації Майкрософт. Проте, це виправлення призначене тільки для вирішення проблеми, описаної в цій статті. Застосовуйте це виправлення лише до систем, які зазнають цієї конкретної проблеми. Це виправлення може отримати додаткове тестування. Тому, якщо ця проблема не сильно впливає на вас, ми рекомендуємо почекати наступного оновлення програмного забезпечення, що містить це виправлення.

Щоб завантажити це виправлення Microsoft Developer Network (MSDN)-Code Gallery, перейдіть на веб-сайт корпорації Майкрософт:


Примітка. MSDN Code Gallery, відображається список мов, для яких це виправлення доступне. Якщо ви не бачите мову у списку, це тому, що сторінка ресурсів для Code Gallery недоступна для цієї мови.


Примітка. Якщо виникають додаткові проблеми, або потрібно виявлення проблем, можливо, доведеться створити окремий запит на обслуговування. Звичайні кошти на технічну підтримку будуть застосовуватися для додаткових питань і проблем, які не пов'язані з цим виправленням. Повний список телефонів служби підтримки користувачів і технічної підтримки, або створити окремий запит на обслуговування відвідайте веб-сайт корпорації Майкрософт:

Примітка. Ви також можете завантажити це виправлення з таких веб-сайт корпорації Майкрософт:Примітка Цей пакет виправлень містить виправлення для "C1001: виникнення Сталася внутрішня помилка компілятора (компілятор файл f:\dd\vctools\compiler\utc\src\p2\main.c, рядок 182), у разі використання .NET framework 3.5.

Попередні вимоги

Потрібно мати Microsoft Visual Studio 2008 з пакетом оновлень 1 для застосування цього виправлення.

Необхідність перезавантаження

Вам не потрібно перезавантажити комп'ютер, після інсталяції виправлення, якщо використовується не екземпляр Visual Studio.

Відомості про заміну виправлень

Це виправлення не замінює жодних інших виправлень.

Відомості про файли


Англійська версія цього виправлення на комп'ютері має атрибути файлів (або новіші атрибути файлів), подані в нижченаведеній таблиці. Значення дати й часу для цих файлів наведено за всесвітнім координованим часом (UTC). Переглядаючи відомості про файл, час конвертується у місцевий час. Щоб визначити різницю між UTC і місцевим часом, відкрийте в
Часовий пояс
у полі
Дата й час
на панелі керування.
Ім'я файлуВерсія файлуРозмір файлуДатаЧас
C1.dll15.0.30729.4455677,18410-Dec-200902:31
C1.dll15.0.30729.4455828,74410-Dec-200902:31
C1xx.dll15.0.30729.44552,202,95210-Dec-200902:31
C1xx.dll15.0.30729.44552,213,70410-Dec-200902:31
C1xx.dll15.0.30729.44552,348,36010-Dec-200902:31
C1xx.dll15.0.30729.44552,504,01610-Dec-200902:31
C1xx.dll15.0.30729.44552,890,56810-Dec-200902:31

Виправлення помилок


Щоб тимчасово усунути цю проблему, скористайтеся одним із наведених нижче способів.


Спосіб 1

Вимкнення / Проаналізуйте компілятор параметр, якщо її ввімкнуто.

Спосіб 2

Запустіть чисте побудувати.

Спосіб 3

Перезавантажте комп'ютер.

Спосіб 4

Вимкніть параметр компілятор Створення та використання скомпільованого-заголовок .


Примітка. Ці методи не гарантовано працювати. Навіть якщо ви використовуєте один із цих методів, можуть все одно виникає ця проблема.

Стан


Корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".

Додаткові відомості


Щоб отримати додаткові відомості про адресу місця розташування-рандомізації відвідайте запис блоґу:Щоб отримати додаткові відомості про скомпільованого заголовку помилки відвідайте запис блоґу: