Quando crio minha solução c ++ no Visual Studio, ele reclama que o arquivo xxxxx.pch está ausente. Falta uma configuração para recuperar os cabeçalhos pré-compilados?
Aqui está o erro exato da integridade:
Error 1 fatal error C1083: Cannot open precompiled header file: 'Debug\xxxxx.pch': No such file or directory
c++
visual-studio
precompiled-headers
pch
Sam Mackrill
fonte
fonte
Respostas:
NOTA: Versões posteriores do IDE podem usar "pch" em vez de "stdafx" nos nomes padrão dos arquivos relacionados. Pode ser necessário substituir o pda por stdafx nas instruções abaixo. Peço desculpas. Não é minha culpa.
Clique em OK
Se você não possui stdafx.h nos arquivos de cabeçalho, coloque-o lá. Edite-o para # incluir todos os cabeçalhos que você deseja pré-compilados.
Sorte 13. Cruze os dedos e pressione Build.
fonte
stdafx.pch
arquivo, enquanto oxxxxx.pch
da pergunta sugere um problema mais complexo (configuração multi-PCH).O uso do cabeçalho pré-compilado (pch) é um processo de duas etapas.
Na etapa um, você compila um arquivo stub (no VS200x, geralmente é chamado
stdafx.cpp
. As versões mais recentes usampch.cpp
.). Esse arquivo stub indiretamente inclui apenas os cabeçalhos que você deseja pré-compilados. Normalmente, um cabeçalho pequeno (geralmentestdafx.h
oupch.hpp
) lista os cabeçalhos padrão, como<iostream>
e<string>
, e isso é incluído no arquivo stub. Compilar isso cria o arquivo .pch.Na etapa 2, seu código-fonte real inclui o mesmo cabeçalho pequeno da etapa 1 que o primeiro cabeçalho. O compilador, quando encontra esse cabeçalho especial, lê o arquivo .pch correspondente. Isso significa que ele não precisa (re) compilar esses cabeçalhos padrão sempre.
No seu caso, parece que a etapa 1 falha. O arquivo stub ainda está presente? No seu caso, isso provavelmente seria
xxxxx.cpp
. Deve ser um arquivo compilado/Yc:xxxxx.pch
, pois esse é o sinalizador do compilador para indicar que é a etapa 1 do processo PCH. Sexxxxx.cpp
estiver presente e for um arquivo stub, provavelmente está faltando sua/Yc:
opção de compilador.fonte
Consertar:
Verifique se você possui xxxxx.cpp em seu projeto
Compile xxxxx.cpp com o sinalizador / Yc ( Criar cabeçalho pré-compilado)
(clique com o botão direito do mouse em xxxxx.cpp -> propriedades -> Cabeçalhos pré-compilados -> criar )
Compile todos os outros arquivos com o sinalizador / Yu ( Usar Cabeçalho Pré-compilado)
(clique com o botão direito do mouse em projeto -> propriedades -> Cabeçalhos Pré-compilados -> uso )
fonte
fonte
Create (/Yc)
(para restaurar e depois usá-lo novamente)Sim, pode ser eliminado com as opções / Yc, como outras pessoas apontaram, mas provavelmente você não precisaria tocá-lo para corrigi-lo. Por que você está recebendo esse erro em primeiro lugar sem alterar nenhuma configuração? Você pode 'limpar' o projeto e tentar compilar um único arquivo cpp. Você receberia esse erro nesse caso porque o cabeçalho do pré-compilador está ausente. Basta criar o projeto inteiro (mesmo que não tenha êxito) e, em seguida, criar qualquer arquivo cpp único e você não receberá esse erro.
fonte
Caso isso esteja acontecendo com você em uma compilação de servidor (AppCenter) e você estiver usando o CocoaPods, verifique se o seu Podfile está registrado.
O AppCenter executa apenas o comando "pod install" se encontrar um Pofile e NÃO encontrar a pasta PODS nos arquivos.
Eu fiz o check-in da pasta, mas como o git ignora automaticamente os arquivos .pch (verifique se você gitignore para muito menos isso), meu .pch não estava sendo verificado.
Classifiquei meu problema forçando os arquivos .pch a verificá-lo, mas a exclusão da pasta PODS também deve funcionar, pois o Appcenter executará o comando pod install nesse caso.
Felizmente, isso ajuda alguém.
fonte
Se tudo estiver certo, mas esse erro estiver presente, ele precisará verificar a próxima seção no arquivo ****. Vcxproj:
No meu caso, havia um nome incorreto de uma configuração: apenas a primeira palavra.
fonte
Eu sei que esse tópico é muito antigo, mas eu estava lidando com isso no VS2015 recentemente e o que ajudou foi excluir as pastas de compilação e recriá-la. Isso pode ocorrer devido à tentativa de fechar o programa ou a um programa que interrompe / congela o VS durante a criação.
fonte
Eu estava procurando o arquivo PCH do iOS com o mesmo problema. Se você também chegou aqui, a solução que eu encontrei foi limpando os dados derivados; Feche o (s) simulador (es), vá para xCode prefs -> locais -> vá para o caminho do arquivo de dados derivado, feche o xCode, exclua os arquivos da pasta de dados derivados, reinicie e aplique :)
fonte
Tente Criar> Solução limpa e, em seguida, Criar> Criar solução. Isso funciona para mim.
fonte