Sintomas
Quando você executa o compilador Microsoft Visual C++ 2008 para compilar arquivos ou criar um projeto, você pode receber a seguinte mensagem de erro:
Erro fatal C1859: inesperado cabeçalho pré-compilado nome do arquivo de cabeçalho , 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ê ativar a opção de compilador de Cabeçalho pré-compilado de criar/usar em um computador que esteja executando o Windows 7 ou Windows Server 2008.
Observação: Você pode encontrar esse problema mais frequentemente se você ativar a opção de compilador / Analisar .
Causa
Quando você ativar a opção de compilador de Criar/usar cabeçalho de pré-compilado , o compilador requer que os arquivos de cabeçalho pré-compilado e módulos relativos não serão movidas 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 os módulos em um processo. Portanto, o erro ocorre ao mover os módulos entre compilações.
Resolução
Informações sobre o hotfix
Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, esse hotfix destina-se a corrigir somente o problema descrito neste artigo. Aplique este hotfix somente aos sistemas que apresentarem esse problema específico. Esta correção poderá ser submetida a testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde a próxima atualização de software que contenha esse hotfix.
Para baixar esse hotfix da Galeria de código do Microsoft Developer Network (MSDN), visite o seguinte site da Microsoft:
http://code.msdn.microsoft.com/KB976656
Observação: 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: caso outros problemas estejam ocorrendo ou caso qualquer solução de problemas seja necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não sejam específicos deste hotfix. Para obter uma lista completa dos números de telefone do Atendimento Microsoft e suporte ou para criar uma solicitação de serviço separada, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportObservação: Você também pode baixar esse hotfix do seguinte site da Microsoft:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=25785Observação: Este hotfix também contém uma correção para "C1001: Ocorreu um erro interno no compilador (compilador arquivo f:\dd\vctools\compiler\utc\src\p2\main.c, linha 182) quando você estiver usando o .NET framework 3.5.
Pré-requisitos:
Você deve ter o Microsoft Visual Studio 2008 Service Pack 1 instalado para aplicar esse hotfix.
Requisitos de reinicialização:
Você não precisa reiniciar o computador após aplicar o hotfix se nenhuma instância do Visual Studio está sendo usada.
Informações de substituição do hotfix:
Esse hotfix não substitui outros hotfixes.
Informações sobre o arquivo:
A versão em inglês deste hotfix possui os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na Hora Universal Coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a
Fuso horário
Guia de
Data e hora
item no painel de controle.
Nome do Arquivo |
Versão do arquivo |
Tamanho do arquivo |
Data |
Hora |
---|---|---|---|---|
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 |
Solução alternativa
Para contornar esse problema, use um dos seguintes métodos.
Método 1
Desabilite a opção de compilador / Analisar se ele está ativado.
Método 2
Inicie uma compilação limpa.
Método 3
Reinicie o computador.
Método 4
Desative a opção de compilador de Cabeçalho pré-compilado de criar/usar .
Observação: Não são garantidos que esses métodos funcionem. Mesmo se você usar um desses métodos, você ainda pode encontrar esse problema.
Status
A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".
Mais informações
Para obter mais informações sobre a randomização de Layout de espaço de endereço, visite a seguinte publicação do blog Microsoft:
Endereço aleatorização do espaço no Windows VistaPara obter mais informações sobre erros de cabeçalho pré-compilado, visite a seguinte publicação do blog Microsoft: