Aracılığıyla paylaş


tanılama kodunu MSB8041

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

  1. Visual Studio Yükleyicisi'ni açın.

  2. Kullandığınız Visual Studio sürümünün yanındaki Değiştir düğmesini seçin.

  3. Pencerenin üst kısmındaki Tek tek bileşenler sekmesini seçin.

  4. Bileşen ara kutusuna MFC girin.

  5. 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.

  6. Bileşenlerde ara kutusuna ATL girin.

  7. 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.

  8. 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