Mensagem de erro quando você usa o compilador do Visual C++ 2008: "Erro fatal C1859"

Traduções deste artigo Traduções deste artigo
ID do artigo: 976656 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando você executa o compilador Microsoft Visual C++ 2008 para compilar arquivos ou para criar um projeto, você pode receber a seguinte mensagem de erro:
Erro fatal C1859: nome do arquivo de cabeçalho inesperado cabeçalho pré-compilado, basta executar novamente o compilador pode corrigir esse problema.
Além disso, esse problema ainda ocorre mesmo quando você executa o compilador novamente. Esse problema ocorre quando você habilita o Criar/usar cabeçalho pré-compilado opção de compilador em um computador que esteja executando o Windows 7 ou Windows Server 2008.

Observação Você pode encontrar esse problema com mais freqüência se você habilitar o /Analyze opção de compilador.

Causa

Quando você habilita o Criar/usar cabeçalho pré-compilado opção de compilador, o compilador requer que os arquivos de cabeçalho pré-compilado e os módulos relativos não mova entre compilações. No entanto, o recurso de randomização de Layout de espaço de endereço (também conhecido como ASLR) aleatoriamente realoca módulos em um processo. Portanto, o erro ocorre quando os módulos de mover-se entre as compilações.

Resolução

Informações sobre o hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, esse hotfix destina-se apenas a corrigir o problema descrito neste artigo. Aplica este hotfix somente aos sistemas que apresentarem esse problema específico. Este hotfix pode receber testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix.

Para baixar esse hotfix na Galeria de código do Microsoft Developer Network (MSDN), visite o seguinte site da Microsoft:
http://Code.msdn.microsoft.com/KB976656

Observação MSDN Code Gallery exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma listado, é porque a página de recursos da Galeria de código não está disponível para esse idioma.

Observação Se ocorrerem problemas adicionais, ou se for necessária a qualquer solução de problemas, você talvez precise criar uma solicitação de serviço. Os custos de suporte normais serão aplicados a questões de suporte adicional e problemas que não sejam específicos deste hotfix. Para uma lista completa dos números de telefone de suporte e atendimento ao cliente da Microsoft ou para criar uma solicitação de serviço, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Observação Você também pode baixar esse hotfix do seguinte site da Microsoft:
https://Connect.microsoft.com/VisualStudio/downloads/DownloadDetails.aspx?DownloadID = 25785
Observação Este pacote também contém uma correção para "C1001: Ocorreu um erro interno no compilador (f:\dd\vctools\compiler\utc\src\p2\main.c de arquivo do compilador, linha 182) quando você está usando.NET framework 3.5.

Pré-requisitos

Você deve ter o Microsoft Visual Studio 2008 Service Pack 1 instalado para aplicar esse hotfix.

Requisito de reinicialização

Não é necessário reiniciar o computador após aplicar o hotfix se nenhuma instância de Visual Studio está sendo usada.

Informações sobre o

Esse hotfix não substitui outros hotfixes.

Informações sobre o arquivo

A versão em inglês deste hotfix apresenta os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas destes arquivos estão listadas no tempo Universal Coordenado (UTC). Quando você visualiza as informações do arquivo, ele será convertido para a hora local. Para saber a diferença entre o UTC e a hora local, use o Fuso horário Guia de Data e hora item no painel de controle.
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempo
C1.dll15.0.30729.4455677,18410-Dezembro de 200902: 31
C1.dll15.0.30729.4455828,74410-Dezembro de 200902: 31
C1xx.dll15.0.30729.44552,202,95210-Dezembro de 200902: 31
C1xx.dll15.0.30729.44552,213,70410-Dezembro de 200902: 31
C1xx.dll15.0.30729.44552,348,36010-Dezembro de 200902: 31
C1xx.dll15.0.30729.44552,504,01610-Dezembro de 200902: 31
C1xx.dll15.0.30729.44552,890,56810-Dezembro de 200902: 31

Como Contornar

Para contornar esse problema, use um dos seguintes métodos.

Método 1

Desabilitar o /Analyze opção de compilador se ele estiver habilitado.

Método 2

Inicie uma compilação limpa.

Método 3

Reinicie o computador.

Método 4

Desabilitar o Criar/usar cabeçalho pré-compilado opção de compilador.

Observação Esses métodos não são garantidos para trabalhar. Mesmo que você use um dos seguintes métodos, você ainda pode encontrar esse problema.

Situação

A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

Para obter mais informações sobre aleatorização do espaço de endereço, visite a seguinte postagem de blog do Microsoft:
Randomização de Layout de espaço no Windows Vista de endereço.
Para obter mais informações sobre erros de cabeçalho pré-compilado, visite a seguinte postagem de blog do Microsoft:
Erros de cabeçalho pré-compilado no Windows 7

Propriedades

ID do artigo: 976656 - Última revisão: sexta-feira, 20 de janeiro de 2012 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C++ 2008 Express Edition
  • Microsoft Visual Studio 2008 Academic Edition
  • Microsoft Visual Studio 2008 Professional Edition
  • Microsoft Visual Studio 2008 Standard Edition
  • Microsoft Visual Studio 2008 Team Edition for Database Professionals
  • Microsoft Visual Studio 2008 Team Edition for Software Architects
  • Microsoft Visual Studio 2008 Team Edition for Software Developers
  • Microsoft Visual Studio 2008 Team Edition for Software Testers
  • Microsoft Visual Studio 2008 Team Suite
Palavras-chave: 
kbexpertiseinter kbsurveynew kbqfe kbmt KB976656 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 976656

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com