Sintomas
Quando executa o compilador do Microsoft Visual C++ 2008 para compilar ficheiros ou para criar um projecto, recebe a seguinte mensagem de erro:
erro fatal C1859: nome do cabeçalho do ficheiro inesperado pré-compilada cabeçalho, basta executar novamente o compilador pode corrigir este problema.
Além disso, este problema ainda ocorre mesmo quando executa o compilador novamente. Este problema ocorre quando activar a opção do compilador Criar/utilizar pré-compilada cabeçalho num computador que esteja a executar o Windows 7 ou Windows Server 2008.
Nota Poderá encontrar este problema mais frequentemente se activar a opção do compilador /analyze .
Causa
Quando activa a opção do compilador Criar/utilizar pré-compilada cabeçalho , o compilador requer que os ficheiros de cabeçalho pré-compilado e os módulos relativos não se movem entre compilações. No entanto, a funcionalidade de aleatoriedade de esquema de espaço de endereço (também conhecido como ASLR) aleatoriamente reposiciona módulos num processo. Por conseguinte, o erro ocorre quando move módulos entre compilações.
Resolução
Informações sobre correção
Existe uma correção suportada pela Microsoft. No entanto, esta correção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afetado por este problema, recomendamos que aguarde pela próxima atualização de software que contenha esta correção.
Para transferir esta correcção a partir da Galeria de código de Microsoft Developer Network (MSDN), visite o seguinte Web site da Microsoft:
http://code.msdn.microsoft.com/KB976656
Nota Galeria de códigos MSDN apresenta os idiomas nos quais a correcção está disponível. Se não vir o idioma listado, é porque a página de recursos da Galeria de códigos não está disponível para esse idioma.
Nota Caso ocorram problemas adicionais ou se for necessária a resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos de normais do suporte serão aplicados a questões de suporte adicional e problemas incluídos nesta correção específica. Para uma lista completa dos números de telefone de suporte e serviço de cliente da Microsoft ou para criar um pedido de assistência separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportNota Também pode transferir esta correcção a partir do seguinte Web site da Microsoft:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=25785Nota Este pacote de correcções também contém uma correcção para "C1001: Ocorreu um erro interno do compilador (compilador ficheiro f:\dd\vctools\compiler\utc\src\p2\main.c, linha 182) quando estiver a utilizar o .NET framework 3.5.
Pré-requisitos
Tem de ter o Microsoft Visual Studio 2008 Service Pack 1 instalado para aplicar esta correcção.
Requisito de reinício
Não é necessário reiniciar o computador depois de aplicar a correcção não se estiver a ser utilizada nenhuma instância do Visual Studio.
Informações sobre substituição da correção
Esta correcção não substitui quaisquer outras correcções.
Informações de ficheiro
A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize a
Fuso horário
separador na
Data e hora
item no painel de controlo.
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
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 este problema, utilize um dos seguintes métodos.
Método 1
Desactive a opção de compilador /analyze se estiver activada.
Método 2
Inicie uma compilação limpa.
Método 3
Reinicie o computador.
Método 4
Desactive a opção do compilador Criar/utilizar pré-compilada cabeçalho .
Nota Não são garantidos que estes métodos para trabalhar. Mesmo que utilize um dos seguintes métodos, poderá ainda encontrar este problema.
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".
Mais informações
Para mais informações sobre a aleatoriedade de esquema de espaço de endereço, visite o seguinte blogue Microsoft:
Endereço aleatoriedade de esquema de espaço no Windows VistaPara mais informações sobre erros de cabeçalho pré-compilada, visite o seguinte blogue Microsoft: