Compartilhar via


MSB8040 código de diagnóstico

Este artigo descreve o código de erro MSB8040.

Texto da mensagem

MSB8040: Spectre-mitigated libraries are required for this project.

Descrição

Esse erro ocorre quando o projeto requer bibliotecas atenuadas pelo Spectre (C/C++>Mitigação de Spectre não está definida como Desabilitada), mas as bibliotecas não estão instaladas. Para obter mais informações, consulte Mitigações para Spectre nas Microsoft Foundation Classes (MFC).

Resolução

Primeiro, determine se deseja implementar a mitigação do Spectre e siga as etapas necessárias para atualizar sua instalação para resolver o erro.

Desabilitar a mitigação do Spectre

Se você não quiser usar a mitigação do Spectre, desabilite a opção no Visual Studio. Para construções de linha de comando, confirme que você não está usando a opção de compilador /Qspectre ou suas variantes /Qspectre-load e /Qspectre-load-cf.

Para desabilitar a opção no Visual Studio, siga estas etapas:

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Propriedades (Alt+Enter).
  2. Na caixa de diálogo Páginas de Propriedades do seu projeto, selecione a página de Propriedades de Configuração>C/C++>Geração de Código.
  3. Defina a propriedade Mitigações do Espectro como Desabilitada.
  4. Selecione OK para salvar suas alterações.

Captura de tela que mostra como desabilitar mitigações do Spectre no Visual Studio.

Habilitar mitigação do Spectre

Se você decidir usar a mitigação do Spectre, verifique se a instalação inclui os componentes corretos do compilador e da biblioteca com suporte para mitigação do Spectre.

Para atualizar sua instalação, siga estas etapas:

  1. Abra o Instalador do Visual Studio.
  2. Selecione o botão Modificar ao lado da versão do Visual Studio que você usa.
  3. Selecione a aba Componentes individuais na parte superior da caixa de diálogo.
  4. Na caixa Componentes de Pesquisa, insiraSpectre v14.2.
  5. No Compilador, seção de ferramentas de build e tempo de execução, verifique se a opção MSVC v142... bibliotecas mitigadas contra Spectre está selecionada para todas as arquiteturas que o build visa.
  6. Para usar ATL ou MFC, selecione também as bibliotecas, como C++ MFC para as ferramentas de build v142 mais recentes com Mitigações do Spectre (ou a versão apropriada para o seu conjunto de ferramentas) para todas as arquiteturas de destino do build. Para obter mais informações, consulte Instalar bibliotecas MFC e ATL.
  7. Selecione Modificar para instalar os componentes selecionados.

Captura de tela que mostra como atualizar a instalação para incluir a biblioteca de mitigação Spectre.

Especificar opções do compilador

Se você habilitar mitigações do Spectre, especifique uma opção de compilador /Qspectre. Para obter mais informações, consulte a opção do compilador /Qspectre .

Para especificar a opção do /Qspectre compilador, siga estas etapas:

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Propriedades (Alt+Enter).

  2. Na caixa de diálogo Páginas de Propriedades do seu projeto, selecione a página de Propriedades de Configuração>C/C++>Geração de Código.

  3. Defina a propriedade Mitigações de Espectro como um dos seguintes valores:

  4. Selecione OK para salvar suas alterações.

Aplica-se a

Todas as versões do MSBuild