Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano kod błędu MSB8041.
Tekst wiadomości
MSB8041: MFC/ATL Libraries are required for this project.
Opis
Ten błąd występuje, gdy projekt wymaga klas programu Microsoft Foundation (MFC) lub biblioteki active template Library (ATL), ale biblioteki nie są znalezione. Biblioteki MFC i ATL nie są instalowane domyślnie podczas instalowania obciążenia C++ w programie Visual Studio.
Rezolucja
Sprawdź, czy zainstalowano poprawne wersje bibliotek MFC i ATL dla zestawu narzędzi kompilacji. Istnieją wersje MFC dla każdej wersji narzędzi kompilacji języka C++, dla każdej platformy docelowej i z lub bez łagodzenia skutków Spectre. Na przykład C++ MFC dla najnowszych narzędzi kompilacji w wersji 143 (x86 i x64) zawiera biblioteki x86 i x64 bez zabezpieczeń Spectre dla najnowocześniejszej wersji Visual Studio 2022 (v143). Jeśli chcesz po prostu użyć najnowszych bibliotek dla danej wersji zestawu narzędzi programu Visual Studio, potrzebujesz języka C++ MFC dla najnowszych [wersji] narzędzi kompilacji ([target]) dla kompilacji innych niż Spectre i C++ MFC dla najnowszych narzędzi kompilacji [wersja] z narzędziami Spectre Mitigations ([target]) dla kompilacji zminimalizowanych przez spectre. Wybierz poprawną opcję dla architektury platformy docelowej. Inne opcje obsługują scenariusze dotyczące określonych elementów docelowych dla wcześniejszego zestawu narzędzi. Aby uzyskać więcej informacji, zobacz Wersje bibliotekI MFC.
Instalowanie bibliotek MFC i ATL
Otwórz Instalatora programu Visual Studio.
Wybierz przycisk Modyfikuj obok używanej wersji programu Visual Studio.
Wybierz kartę Poszczególne składniki na górze okna dialogowego.
W polu Wyszukaj składniki wprowadź MFC.
Wybierz składniki MFC zgodne z celami projektu, takie jak x86 lub ARM64EC. Wybierz składniki z zastosowanymi zabezpieczeniami Spectre, jeśli budujesz projekty z włączonymi zabezpieczeniami Spectre.
W większości przypadków chcesz wybrać MFC dla najnowszych narzędzi kompilacji. Organizacja lub projekt może wymagać określonej wcześniejszej wersji zestawu narzędzi. Upewnij się, że wersja, cele i zabezpieczenia Spectre składników MFC, które instalujesz, są zgodne z wersją zestawu narzędzi, celami i zabezpieczeniami Spectre wymaganymi przez projekt, który kompilujesz.
W polu Wyszukaj składniki wprowadź ATL.
Wybierz składniki ATL zgodne z celami projektu, takie jak x86 lub ARM64EC. Wybierz składniki z zastosowanymi zabezpieczeniami Spectre, jeśli budujesz projekty z włączonymi zabezpieczeniami Spectre.
W większości przypadków chcesz wybrać atl dla najnowszych narzędzi kompilacji. Organizacja lub projekt może wymagać określonej wcześniejszej wersji zestawu narzędzi. Upewnij się, że wersje, cele i ograniczenia ryzyka spectre składników ATL instalowanych są zgodne z wersją zestawu narzędzi, elementami docelowymi i ograniczeniem ryzyka spectre wymaganym przez kompilowany projekt.
Wybierz pozycję Modyfikuj , aby zainstalować wybrane składniki.
Aby uzyskać więcej informacji na temat modyfikowania programu Visual Studio w celu zainstalowania potrzebnych bibliotek i plików binarnych, zobacz Modyfikowanie programu Visual Studio.
Eksplorowanie zaawansowanej diagnostyki
Aby uzyskać szczegółowe informacje o rozwiązywaniu problemów z kompilacją, błąd MSB8041 jest wyzwalany w procesie kompilacji C++ w celu Microsoft.CppBuild.targets, gdy nie zostanie znaleziony następujący plik: $(VCToolsInstallDir)atlmfc\lib\$(_SpectreLibsDir)$(PlatformShortName)\mfcs140.lib
. Właściwości pochodzą ze środowiska ($(VCToolsInstallDir)
) oraz z konfiguracji projektu: $(_SpectreLibsDir)
jest pusta lub spectre\
, $(PlatformShortName)
to x86
, x64
, arm
, arm64
lub arm64EC
.
Odnosi się do
Wszystkie wersje programu MSBuild