Share via


Erro fatal C1047

O arquivo de objeto ou de biblioteca 'filename' foi criado com um compilador mais antigo do que os demais objetos; recompile objetos e bibliotecas antigas

Esse erro poderá ocorrer se você usar uma nova versão do compilador para criar seu projeto, mas não fizer uma recompilação limpa de arquivos de objeto ou bibliotecas existentes.

Comentários

O erro C1047 é causado quando arquivos de objeto ou bibliotecas criados usando /GL ou /LTCG em versões diferentes do conjunto de ferramentas do compilador C/C++ do Visual Studio são vinculados juntos. Por exemplo, você não pode vincular uma biblioteca /LTCG criada usando o Visual Studio 2019 versão 16.7 a um aplicativo criado usando o Visual Studio 2019 versão 16.8. Os números de atualização principal e secundária do conjunto de ferramentas usado para compilar os objetos e bibliotecas precisam corresponder exatamente.

Para resolver o erro C1047, recompile todos os arquivos de objeto ou bibliotecas usando a mesma versão do conjunto de ferramentas.

Confira também

/GL (Otimização do Programa Inteiro)
/LTCG (Geração de código para tempo de vinculação)
Compatibilidade binária do C++ entre versões do Visual Studio