Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo descreve o código de erro MSB8040.
Texto da mensagem
MSB8040: Spectre-mitigated libraries are required for this project.
Descrição
Este erro ocorre quando o projeto requer bibliotecas atenuadas por Spectre (C/C++>Spectre Mitigation não está definido como Disabled), mas as bibliotecas não estão instaladas. Para obter mais informações, consulte Mitigações do Spectre no Microsoft Foundation Classes (MFC).
Resolução
Primeiro, determine se deseja implementar a mitigação do Spectre e, em seguida, siga as etapas necessárias para atualizar sua instalação para resolver o erro.
Desativar a mitigação do Spectre
Se você não quiser usar a mitigação do Spectre, desative a opção no Visual Studio. Para compilações de linha de comando, confirme se você não está usando a /Qspectre opção de compilador ou suas variantes /Qspectre-load e /Qspectre-load-cf.
Para desativar a opção no Visual Studio, execute estas etapas:
- No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Propriedades (Alt+Enter).
- Na caixa de diálogo Páginas de propriedades do seu projeto, selecione a página de propriedades de configuração>C/C++>Code Generation .
- Defina a propriedade Spectre Mitigations como Disabled.
- Selecione OK para salvar as alterações.
Ativar a mitigação do Spectre
Se você decidir usar a mitigação do Spectre, certifique-se de que sua instalação inclua os componentes corretos do compilador e da biblioteca com suporte para a mitigação do Spectre.
Para atualizar a instalação, siga estes passos:
- Abra o instalador do Visual Studio.
- Selecione o botão Modificar ao lado da versão do Visual Studio que você usa.
- Selecione a guia Componentes individuais na parte superior da caixa de diálogo.
- Na caixa Pesquisar componentes , digite Spectre v14.2.
- Na secção Compilador, ferramentas de compilação e tempo de execução, certifique-se de que a opção MSVC v142... Spectre-mitigated libs está selecionada para todas as arquiteturas alvo da compilação.
- Para utilizar ATL ou MFC, deve-se também selecionar as bibliotecas, como C++ MFC para as ferramentas de compilação v142 mais recentes com Mitigações Spectre (ou a versão apropriada para o seu ambiente de desenvolvimento) para todas as arquiteturas que o projeto de compilação pretende abranger. Para obter mais informações, consulte Instalar bibliotecas MFC e ATL.
- Selecione Modificar para instalar os componentes selecionados.
Especificar opções do compilador
Caso ative as mitigações do Spectre, assegure-se de especificar uma opção de compilador /Qspectre. Para obter mais informações, consulte a opção de compilador /Qspectre .
Para especificar a opção do /Qspectre compilador, siga estas etapas:
No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Propriedades (Alt+Enter).
Na caixa de diálogo Páginas de propriedades do seu projeto, selecione a página de propriedades de configuração>C/C++>Code Generation .
Defina a propriedade Spectre Mitigations para um dos seguintes valores:
- Ativado
- Todas as cargas para /Qspectre-load
- Todas as cargas de fluxo de controle para /Qspectre-load-cf
Selecione OK para salvar as alterações.
Aplica-se a
Todas as versões do MSBuild