Симптомы

При запуске Microsoft Visual C++ 2008 компилятор для компиляции файлов или построения проекта, появляется следующее сообщение об ошибке:

Неустранимая ошибка C1859: имя файла заголовка Непредвиденная предкомпилированного заголовка, просто запустить компилятор может устранить проблему.

Кроме того эта проблема по-прежнему возникает даже при запуске компилятора снова. Эта проблема возникает при включении параметра компилятора Создавать или использовать предварительно скомпилированный заголовочный файл на компьютере под управлением Windows 7 или Windows Server 2008.

Примечание. Могут возникнуть дополнительные проблемы часто при включении параметра компилятора / analyze .

Причина

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

Решение

Сведения об исправлении

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

Чтобы загрузить это исправление из коллекции кода Microsoft Developer Network (MSDN), посетите следующий веб-узел корпорации Майкрософт:

http://code.msdn.microsoft.com/KB976656
Примечание. Коллекции кода MSDN отображаются языки, для которых доступно исправление. Если в списке язык не отображается, это недоступности страница коллекции кода для этого языка.


Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Чтобы получить полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание, посетите следующий веб-сайт корпорации Майкрософт:

http://support.microsoft.com/contactus/?ws=supportПримечание. Также можно загрузить исправление с веб-узла корпорации Майкрософт:

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=25785Примечание. Данное исправление также содержит исправления для «C1001: Внутренняя ошибка компилятора (файл компилятора f:\dd\vctools\compiler\utc\src\p2\main.c, строка 182) при использовании .NET framework 3.5.

Предварительные условия

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

Необходимость перезагрузки

Необходимо перезагрузить компьютер после установки исправления, если используется не экземпляр Visual Studio.

Сведения о замене исправлений

Это исправление не заменяет других исправлений.

Сведения о файлах


Английская версия данного исправления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, следует использовать
Часовой пояс
вкладке
Дата и время
элемент панели управления.

Имя файла

Версия файла

Размер файла

Дата

Время

C1.dll

15.0.30729.4455

677,184

10-Dec-2009

02:31

C1.dll

15.0.30729.4455

828,744

10-Dec-2009

02:31

C1xx.dll

15.0.30729.4455

2,202,952

10-Dec-2009

02:31

C1xx.dll

15.0.30729.4455

2,213,704

10-Dec-2009

02:31

C1xx.dll

15.0.30729.4455

2,348,360

10-Dec-2009

02:31

C1xx.dll

15.0.30729.4455

2,504,016

10-Dec-2009

02:31

C1xx.dll

15.0.30729.4455

2,890,568

10-Dec-2009

02:31

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

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


Способ 1

Если он включен, отключите параметр компилятора / analyze .

Способ 2

Запустите построение с нуля.

Способ 3

Перезагрузите компьютер.

Способ 4

Отключите параметр компилятора Создавать или использовать предварительно скомпилированный заголовочный файл .


Примечание. Эти методы не являются гарантированно работать. Даже при использовании одного из этих методов по-прежнему могут возникнуть проблемы.

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".

Дополнительные сведения

Дополнительные сведения о случайный выбор макета адрес пространства посетите следующий Microsoft блога:

Адрес места случайный выбор макета в Windows VistaДополнительные сведения о предварительно скомпилированный заголовочный файл ошибок посетите следующий Microsoft блога:

Предкомпилированный заголовок ошибки в Windows 7

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

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?

Что повлияло на вашу оценку?

Добавите что-нибудь? Это необязательно

Спасибо за ваш отзыв!

×