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 MSB8040 hata kodu açıklanmaktadır.
İleti metni
MSB8040: Spectre-mitigated libraries are required for this project.
Açıklama
Bu hata, proje Spectre-mitigated kitaplıkları gerektirdiğinde (C/C++>Spectre Risk Azaltmadevre dışı olarak ayarlanmamıştır) ancak kitaplıklar yüklenmediğinde oluşur. Daha fazla bilgi için bkz. Microsoft Foundation Sınıflarında (MFC) Spectre azaltmaları.
Çözüm
İlk olarak Spectre azaltmayı uygulamak isteyip istemediğinizi belirleyin ve ardından hatayı gidermek için yüklemenizi güncelleştirmek için gerekli adımları izleyin.
Spectre azaltmayı devre dışı bırakma
Spectre azaltmayı kullanmak istemiyorsanız Visual Studio'da seçeneği devre dışı bırakın. Komut satırı derlemeleri için, /Qspectre derleyici seçeneğini veya onun varyasyonları olan /Qspectre-load ve /Qspectre-load-cf seçeneklerini kullanmadığınızı onaylayın.
Visual Studio'da seçeneği devre dışı bırakmak için şu adımları izleyin:
- Çözüm Gezgini'nde proje düğümüne sağ tıklayın ve Özellikler (Alternatif+Enter) seçeneğini belirleyin.
- Projenizin Özellik Sayfaları iletişim kutusunda Yapılandırma Özellikleri>C/C++>Kod Oluşturma özellik sayfasını seçin.
- Spectre Mitigations özelliğini Devre Dışı olarak ayarlayın.
- Değişikliklerinizi kaydetmek için Tamam'ı seçin.
Spectre azaltmayı etkinleştirme
Spectre azaltmayı kullanmaya karar verirseniz, yüklemenizin Spectre azaltma desteğine sahip doğru derleyici ve kitaplık bileşenlerini içerdiğinden emin olun.
Yüklemenizi güncelleştirmek için şu adımları izleyin:
- 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 Spectre v14.2 girin.
- Derleyici, derleme araçları ve çalışma zamanı bölümünde, derleme hedeflerinin tüm mimarileri için MSVC v142… Spektrum-kuşatılmış kitaplıklar seçeneğinin seçili olduğundan emin olun.
- ATL veya MFC'yi kullanmak için, derleme hedeflerindeki tüm mimariler için, araç takımınızın uygun sürümüne sahip olan Spectre Azaltmaları içeren en son v142 derleme araçları için C++ MFC gibi kütüphaneleri de seçin. Daha fazla bilgi için bkz . MFC ve ATL kitaplıklarını yükleme.
- Seçili bileşenleri yüklemek için Değiştir'i seçin.
Derleyici seçeneklerini belirtme
Spectre azaltmalarını etkinleştirirseniz bir /Qspectre derleyici seçeneği belirttiğinizden emin olun. Daha fazla bilgi için /Qspectre derleyici seçeneğine bakın.
Derleyici seçeneğini belirtmek /Qspectre için şu adımları izleyin:
Çözüm Gezgini'nde proje düğümüne sağ tıklayın ve Özellikler (Alternatif+Enter) seçeneğini belirleyin.
Projenizin Özellik Sayfaları iletişim kutusunda Yapılandırma Özellikleri>C/C++>Kod Oluşturma özellik sayfasını seçin.
Spectre Mitigations özelliğini aşağıdaki değerlerden birine ayarlayın:
- Etkinleştirildi
- /Qspectre-load için tüm yükler
- /Qspectre-load-cf için Tüm Denetim Akışı Yükleri
Değişikliklerinizi kaydetmek için Tamam'ı seçin.
Şunun için geçerlidir:
MSBuild'in tüm sürümleri