Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede MSB8041 hata kodu açıklanmaktadır.
İleti metni
MSB8041: MFC/ATL Libraries are required for this project.
Açıklama
Proje Microsoft Foundation Sınıfları (MFC) veya Etkin Şablon Kitaplığı (ATL) gerektirdiğinde ancak kitaplıklar bulunamadığında bu hata oluşur. Visual Studio'da bir C++ iş yükü yüklediğinizde MFC ve ATL kitaplıkları varsayılan olarak yüklenmez.
Çözüm
Derleme araç takımınız için MFC ve ATL kitaplıklarının doğru sürümlerinin yüklendiğini doğrulayın. C++ derleme araçlarının her sürümü için, her hedef platform için ve Spectre risk azaltmaları içeren veya içermeyen MFC sürümleri vardır. Örneğin, en son v143 derleme araçları (x86 ve x64) için C++ MFC , Visual Studio 2022'nin (v143) en son sürümü için Spectre azaltmaları içermeyen x86 ve x64 kitaplıklarına sahiptir. Yalnızca Visual Studio araç takımının belirli bir sürümü için en son kitaplıkları kullanmak istiyorsanız Spectre olmayan derlemeler için en son [sürüm] derleme araçları ([target]) için C++ MFC ve Spectre azaltılmış derlemeler için Spectre Risk Azaltmaları ([hedef]) içeren en son [sürüm] derleme araçları için C++ MFC gerekir. Hedef platform mimariniz için doğru seçeneği belirleyin. Diğer seçenekler, önceki bir araç takımının belirli hedefleme senaryolarını destekler. Daha fazla bilgi için bkz. MFC Kitaplığı Sürümleri.
MFC ve ATL kitaplıklarını yükleme
Visual Studio Yükleyicisi'ni açın.
Kullandığınız Visual Studio sürümünün yanındaki Değiştir düğmesini seçin.
Pencerenin üst kısmındaki Tek tek bileşenler sekmesini seçin.
Bileşen ara kutusuna MFC girin.
x86 veya ARM64EC gibi proje hedeflerinizle eşleşen MFC bileşenlerini seçin. Projelerinizi Spectre azaltmaları etkinleştirilmiş olarak oluşturursanız Spectre risk azaltmaları olan bileşenleri seçin.
Çoğu durumda, en son derleme araçları için MFC'yi seçmek istersiniz. Kuruluşunuz veya projeniz araç takımının belirli bir önceki sürümünü gerektirebilir. Yüklediğiniz MFC bileşenlerinin sürümünün, hedeflerinin ve Spectre azaltmalarının, oluşturmakta olduğunuz projenin gerektirdiği araç takımı sürümü, hedefler ve Spectre azaltmalarıyla eşleştiğinden emin olun.
Bileşenlerde ara kutusuna ATL girin.
x86 veya ARM64EC gibi proje hedeflerinizle eşleşen ATL bileşenlerini seçin. Projelerinizi Spectre azaltmaları etkinleştirilmiş olarak oluşturursanız Spectre risk azaltmaları olan bileşenleri seçin.
Çoğu durumda, en son derleme araçları için ATL'yi seçmek istersiniz. Kuruluşunuz veya projeniz MSVC Derleme Araçları'nın belirli bir önceki sürümünü gerektirebilir. Yüklediğiniz ATL bileşenlerinin sürümünün, hedeflerinin ve Spectre azaltmalarının, oluşturmakta olduğunuz projenin gerektirdiği araç takımı sürümü, hedefler ve Spectre risk azaltmalarıyla eşleştiğinden emin olun.
Seçili bileşenleri yüklemek için Değiştir'i seçin.
Visual Studio'yu ihtiyacınız olan kitaplıkları ve ikili dosyaları yükleyecek şekilde değiştirme hakkında daha fazla bilgi için bkz. Visual Studio'yu değiştirme.
Gelişmiş tanılamayı keşfetme
Ayrıntılı derleme sorunlarını gidermek için, aşağıdaki dosya bulunamadığında msbuild hedefi Microsoft.CppBuild.targets içindeki C++ derleme işleminde MSB8041 hatası tetiklendi: $(VCToolsInstallDir)atlmfc\lib\$(_SpectreLibsDir)$(PlatformShortName)\mfcs140.lib. Özellikler ortamdan ($(VCToolsInstallDir)) gelir ve proje yapılandırması: $(_SpectreLibsDir) boş veya spectre\, $(PlatformShortName)x86 , x64, arm, arm64veya arm64EColur.
Şunun için geçerlidir:
MSBuild'in tüm sürümleri