ID do artigo: 126717 - Última revisão: terça-feira, 5 de julho de 2005 - Revisão: 1.1 PROBLEMA: Erro C1853 gerados por mixagem C e C++ arquivos
Nesta páginaSintomasQuando você compila projetos Visual C++ que incluir arquivos C e C++ e que usam cabeçalhos pré-compilados, você receberá a seguinte mensagem de erro: <filename>Erro fatal C1853: '<nomedoarquivo>' não é um arquivo de cabeçalho pré-compilado criado com esse compilador CausaO compilador tenta usar um cabeçalho pré-compilado gerado por um compilador C++ em um arquivo de origem C. Isso pode acontecer quando "Uso por arquivo de cabeçalhos pré-compilados" é usado com código-fonte C e C++ em um projeto. Não é válido para usar um compilador C++ criado cabeçalho pré-compilado com um arquivo de origem que está a ser compilado pelo compilador C. Nem ele válido para usar um compilador C é criado cabeçalho pré-compilado com um arquivo de origem que está a ser compilado pelo compilador C++. A Ajuda de mensagem de erro do Visual C++ versão 2.x para C1853 pode ser enganosa. Isso implica que o problema ocorre somente quando mistura .PCH arquivos gerados com os compiladores 16 e 32 bits. Com freqüência, no entanto, isso pode ocorrer ao criar um projeto depois de adicionar um arquivo de origem C a um projeto de C++ puro que usa o "Per-File uso de cabeçalhos Precompiled." (Ajuda online do Visual C++ versão 4.0 corretamente incorpora essas informações informando que erro fatal C1853 "pode ser causado por usando um arquivo C++ pré-compilado com código C.") ResoluçãoEsse problema pode ser resolvido de várias maneiras, dependendo da situação: Resolução,Para projetos com um arquivo de origem C único e vários C++ fonte de arquivos (ou vice-versa), use as etapas seguintes para desativar cabeçalhos pré-compilados para o arquivo de origem única:
Resolução IIPara projetos com C e C++ vários arquivos de origem, use as etapas seguintes para desativar cabeçalhos pré-compilados para um conjunto de procedimento de arquivos de origem:com o Visual C++ versão 2.x :
Com o Visual C++ versão 4.0 , não há mais suporte para grupos. Para desativar o uso de cabeçalhos pré-compilados para um grupo de arquivos de origem, execute o as etapas de resolução, mas na etapa 2 mantenha pressionada a tecla CTRL enquanto seleciona cada arquivo. Resolução IIIPara projetos não requerem cabeçalhos pré-compilados, siga as etapas de resolução, mas na etapa 2, selecione todos os destinos da árvore de projeto no painel esquerdo.Resolução IV (VC 4.x e 5.0)
SituaçãoEsse comportamento é por design. Mais InformaçõesO Visual C++ versão 2.0 permite que somente um arquivo de cabeçalho pré-compilado por destino em um projeto. Este arquivo é nomeado PROJNAME.PCH por padrão onde NOMEDOPROJETO é o nome do projeto. Isso pode ser alterado no controle de edição Project Options das configurações de destino usando a opção /fp (por exemplo, "/fp MYNAME.PCH"). Este arquivo de cabeçalho pré-compilado (.PCH) pode ser gerado usando o automático ou por arquivo usar sistema conforme mostrado na seção de configurações de projeto da C/C ++ guia diálogo cabeçalhos pré-compilados. A opção PCH automática (opção /YX) gera um arquivo .PCH quando o arquivo .PCH atual é inválido ou quando o arquivo de cabeçalho é atualizado. Arquivos .PCH inválidos incluem aquelas geradas por outro compilador (C ou C++) ou aqueles que contêm um conjunto diferente de arquivos de cabeçalho do conjunto encontrado na fonte de. Essa opção salva ideal tempo de compilação se todos os arquivos de origem usar essa opção contêm um conjunto idêntico de arquivos de cabeçalho e de um tipo (C ou C++) ou se apenas um arquivo de projeto geralmente é criado. A eficiência dessa opção pode depender de ordem de compilação. Arquivos de origem C e C++ na ordem de compilação de intercalação sempre gera novamente um novo arquivo .PCH. Criando um projeto depois de atualizar um arquivo C quando a última compilação resultou em um arquivo .PCH C++, gera novamente o arquivo .PCH. A opção de arquivo por usar PCH gera um arquivo .PCH sempre que um arquivo de origem com a caixa de seleção 'Criar .PCH arquivo' (opção /Yc) habilitado é compilado. O arquivo .PCH gerado é usado com todos os arquivos de origem que têm a caixa de seleção 'Usar .PCH arquivo' (opção /Yu) ativada. O compilador não gerar novamente um novo arquivo .PCH se aquele gerado é inválido; em vez disso, ele fornece uma das seguintes mensagens de dois:
Versões anteriores do Visual C++ (1.51, 1.50 e 1.1) permitem que um separado pré-compilado arquivo de cabeçalho para C e C++ arquivos de origem. Como o Visual C++ versão 2.0 é limitado a apenas um PCH, não é possível usar arquivos de cabeçalho pré-compilado diferente para o C e C++ arquivos. Portar tal projeto sobre resultará na seguinte mensagem ao tentar criar o projeto: Os arquivos de origem "file1.c" e "file2.cpp" ambos configurados para produzir o arquivo de saída "proj.pch". O projeto não pode ser criado. ReferênciasPara obter mais informações sobre cabeçalhos pré-compilados, procure em "Cabeçalhos pré-compilados" nos manuais online do. A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: 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: 126717
(http://support.microsoft.com/kb/126717/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesTraduções deste artigo |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar para o início