Erro MSB8040 do MSBuild
Esse projeto requer bibliotecas atenuadas pelo Spectre.
Esse erro ocorre quando o uso de bibliotecas mitigadas pelo Spectre é solicitado (C/C++>Mitigação do Spectre não está definido como Desabilitado), mas essas bibliotecas não estão instaladas.
Para corrigir o erro, primeiro decida se deseja fazer a mitigação do Spectre. Você pode ler sobre a mitigação do Spectre na página da opção do compilador /Qspectre. Se você não desejar fazer a mitigação do Spectre, verifique se ela está desabilitada. Para builds de linha de comando, não use a opção /Qspectre
do compilador ou as respectivas variantes /Qspectre-load
e /Qspectre-load-cf
. Para desabilitá-la no IDE do Visual Studio, abra as Propriedades dos seus projetos e, na página de propriedades Propriedades de Configuração>C/C++>Geração de Código, defina a propriedade Mitigações do Spectre como Desabilitada.
Se você quiser a mitigação do Spectre, verifique se os componentes corretos do compilador e da biblioteca compatíveis com mitigação do Spectre estão instalados. Na Instalador do Visual Studio, escolha Modificar e escolha Componentes Individuais, pesquise por "Spectre v14.2" e, na seção Compilador, ferramentas de build e runtime, verifique se as Bibliotecas mitigadas pelo Spectre MSVC v142... estão selecionadas para todas as arquiteturas para as quais você está compilando. Se você estiver usando a ATL ou o MFC, verifique se as bibliotecas, como o C++ MFC para as ferramentas de build v142 mais recentes com Mitigações do Spectre (ou a versão apropriada para seu conjunto de ferramentas), também estão selecionadas para todas as arquiteturas para as quais você está compilando.
Além disso, para habilitar mitigações do Spectre, verifique se você está usando uma das opções do compilador /Qspectre
. Para definir essa propriedade no IDE do Visual Studio, abra Propriedades para seus projetos e, na página de propriedades Propriedades de Configuração>C/C++>Geração de Código, defina a propriedade Mitigações do Spectre como Habilitado ou Todas as cargas para /Qspectre-load ou Todas as Cargas de Fluxo de Controle para /Qspectre-load-cf.
Para obter mais informações, confira Mitigações do Spectre no MFC.