Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается код ошибки MSB8041.
Текст сообщения
MSB8041: MFC/ATL Libraries are required for this project.
Описание
Эта ошибка возникает, если для проекта требуются классы Microsoft Foundation (MFC) или активная библиотека шаблонов (ATL), но библиотеки не найдены. Библиотеки MFC и ATL по умолчанию не устанавливаются при установке рабочей нагрузки C++ в Visual Studio.
Резолюция
Убедитесь, что установлены правильные версии библиотек MFC и ATL для набора инструментов сборки. Существуют версии MFC для каждой версии средств сборки C++, для каждой целевой платформы, как с устранением рисков Spectre, так и без него. Например, C++ MFC для последних средств сборки версии 143 (x86 и x64) содержит библиотеки x86 и x64 без механизмов защиты от Spectre для последней версии Visual Studio 2022 (версия 143). Если вы просто хотите использовать последние библиотеки для определенной версии набора инструментов Visual Studio, вам потребуется C++ MFC для последних средств сборки [версия] ([целевая]) для сборок, отличных от Spectre, и MFC для последних средств сборки [версия] с помощью средств устранения рисков Spectre ([целевой]) для исправленных сборок Spectre. Выберите правильный вариант для целевой архитектуры платформы. Другие варианты поддерживают сценарии для конкретного применения более раннего набора инструментов. Дополнительные сведения см. в разделе "Версии библиотеки MFC".
Установка библиотек MFC и ATL
Откройте Установщик Visual Studio.
Нажмите кнопку "Изменить " рядом с используемой версией Visual Studio.
На верхней панели диалогового окна выберите вкладку отдельных компонентов.
В поле "Компоненты поиска " введите MFC.
Выберите компоненты MFC, соответствующие целевым объектам проекта, например x86 или ARM64EC. Выберите компоненты с устранением рисков Spectre, если вы создаете проекты с включенными средствами устранения рисков Spectre.
В большинстве случаев необходимо выбрать MFC для последних средств сборки. Для организации или проекта может потребоваться определенная более ранняя версия набора инструментов. Убедитесь, что версии, целевые платформы и устранение уязвимостей Spectre компонентов MFC, которые вы устанавливаете, соответствуют версии набора инструментов, целевым платформам и устранению уязвимостей Spectre, необходимым для проекта, который вы создаёте.
В поле "Поиск компонентов " введите ATL.
Выберите компоненты ATL, соответствующие целевым объектам проекта, например x86 или ARM64EC. Выберите компоненты с устранением рисков Spectre, если вы создаете проекты с включенными средствами устранения рисков Spectre.
В большинстве случаев необходимо выбрать ATL для последних средств сборки. Для вашей организации или проекта может потребоваться определенная более ранняя версия средств сборки MSVC. Убедитесь, что версия, целевые платформы и механизмы защиты от Spectre установленных компонентов ATL соответствуют версии инструментария, целевым платформам и механизмам защиты от Spectre, которые требуются для создаваемого проекта.
Выберите "Изменить", чтобы установить выбранные компоненты.
Дополнительные сведения об изменении Visual Studio для установки необходимых библиотек и двоичных файлов см. в разделе "Изменение Visual Studio".
Изучение расширенной диагностики
Для устранения неполадок сборки, ошибка MSB8041 активируется в процессе сборки проекта на C++ в цели MSBuild Microsoft.CppBuild.targets, когда не найден следующий файл: $(VCToolsInstallDir)atlmfc\lib\$(_SpectreLibsDir)$(PlatformShortName)\mfcs140.lib. Свойства берутся из среды ($(VCToolsInstallDir)) и конфигурации проекта: $(_SpectreLibsDir) пусто или spectre\, $(PlatformShortName) это x86, x64, arm, arm64 или arm64EC.
Применимо к
Все версии MSBuild