Partilhar via


MSB8041 código de diagnóstico

Este artigo descreve o código de erro MSB8041.

Texto da mensagem

MSB8041: MFC/ATL Libraries are required for this project.

Descrição

Este erro ocorre quando o projeto requer o Microsoft Foundation Classes (MFC) ou a Ative Template Library (ATL), mas as bibliotecas não são encontradas. As bibliotecas MFC e ATL não são instaladas por padrão quando você instala uma carga de trabalho C++ no Visual Studio.

Resolução

Verifique se as versões corretas das bibliotecas MFC e ATL para seu conjunto de ferramentas de compilação estão instaladas. Existem versões do MFC para cada versão das ferramentas de compilação C++, para cada plataforma de destino e com ou sem mitigações do Spectre. Por exemplo, o C++ MFC para ferramentas de compilação v143 mais recentes (x86 e x64) tem as bibliotecas x86 e x64 sem mitigações do Spectre para a versão mais recente do Visual Studio 2022 (v143). Se você quiser simplesmente usar as bibliotecas mais recentes para uma determinada versão de um conjunto de ferramentas do Visual Studio, precisará do C++ MFC para as ferramentas de compilação [versão] mais recentes ([target]) para compilações que não sejam do Spectre e do C++ MFC para as ferramentas de compilação [versão] mais recentes com Mitigações do Spectre ([target]) para compilações mitigadas do Spectre. Escolha a opção correta para a arquitetura da plataforma de destino. As outras opções oferecem suporte a cenários para direcionamento específico de um conjunto de ferramentas anterior. Para obter mais informações, consulte Versões da biblioteca MFC.

Instalar bibliotecas MFC e ATL

  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 guia Componentes individuais na parte superior da caixa de diálogo.

  4. Na caixa Pesquisar componentes , digite MFC.

  5. Selecione os componentes MFC que correspondem aos destinos do projeto, como x86 ou ARM64EC. Selecione os componentes com mitigações Spectre se você criar seus projetos com mitigações Spectre habilitadas.

    Na maioria dos casos, você deseja selecionar MFC para as ferramentas de compilação mais recentes. Sua organização ou projeto pode exigir uma versão anterior específica do conjunto de ferramentas. Certifique-se de que a versão, os destinos e as mitigações do Spectre dos componentes MFC instalados correspondam à versão do conjunto de ferramentas, aos destinos e às mitigações do Spectre exigidas pelo projeto que você está criando.

  6. Na caixa Componentes de pesquisa , digite ATL.

  7. Selecione os componentes ATL que correspondem aos destinos do projeto, como x86 ou ARM64EC. Selecione os componentes com mitigações Spectre se você criar seus projetos com mitigações Spectre habilitadas.

    Na maioria dos casos, você deseja selecionar ATL para as ferramentas de compilação mais recentes. Sua organização ou projeto pode exigir uma versão anterior específica das Ferramentas de Compilação do MSVC. Verifique se a versão, os destinos e as mitigações do Spectre dos componentes ATL instalados correspondem à versão do conjunto de ferramentas, aos destinos e às mitigações do Spectre exigidas pelo projeto que você está criando.

  8. Selecione Modificar para instalar os componentes selecionados.

Para obter mais informações sobre como modificar o Visual Studio para instalar as bibliotecas e binários necessários, consulte Modificar o Visual Studio.

Explore diagnósticos avançados

Para solução de problemas de compilação detalhada, o erro de MSB8041 é acionado no processo de compilação C++ no destino MSBuild Microsoft.CppBuild.targets quando o seguinte arquivo não é encontrado: $(VCToolsInstallDir)atlmfc\lib\$(_SpectreLibsDir)$(PlatformShortName)\mfcs140.lib. As propriedades vêm do ambiente ($(VCToolsInstallDir)) e da configuração do projeto: $(_SpectreLibsDir) está vazio ou spectre\, $(PlatformShortName) é x86, x64, arm, arm64, ou arm64EC.

Aplica-se a

Todas as versões do MSBuild