Bagikan melalui


Kesalahan MSBuild MSB8040

Diperlukan pustaka yang dimitigasi spektre untuk proyek ini.

Kesalahan ini terjadi saat menggunakan pustaka yang dimitigasi Spectre diminta (C/C++>Mitigasi Spectre tidak diatur ke Dinonaktifkan), tetapi pustaka yang dimitigasi Spectre tidak diinstal.

Untuk memperbaiki kesalahan, pertama-tama putuskan apakah Anda ingin mitigasi Spectre. Anda dapat membaca tentang mitigasi Spectre di halaman untuk opsi pengompilasi /Qspectre. Jika Anda tidak ingin mitigasi Spectre, pastikan mitigasi dinonaktifkan. Untuk build baris perintah, periksa bahwa Anda tidak menggunakan opsi kompilator /Qspectre atau variannya /Qspectre-load dan /Qspectre-load-cf. Untuk menonaktifkannya di IDE Visual Studio, buka Properti untuk proyek Anda, dan di halaman properti Properti Konfigurasi>C/C++>Pembuatan Kode, atur properti Mitigasi Spectre ke Dinonaktifkan.

Disable Spectre mitigations in the IDE

Jika Anda ingin mitigasi Spectre, pastikan bahwa komponen kompilator dan pustaka yang tepat dengan dukungan untuk mitigasi Spectre diinstal. Di Alat Penginstal Visual Studio, pilih Ubah lalu pilih Komponen Individu, cari "Spectre v14.2", dan di bagian Kompilator, alat build, dan runtime, pastikan MSVC v142… Pustaka yang dimitigasi Spectre dipilih untuk semua arsitektur yang Anda buat. Jika Anda menggunakan ATL atau MFC, pastikan bahwa pustaka, seperti C++ MFC untuk alat build v142 terbaru dengan Mitigasi Spectre (atau versi yang sesuai untuk kumpulan alat Anda) juga dipilih untuk semua arsitektur yang Anda buat.

Installing the Spectre mitigations library

Selain itu, untuk mengaktifkan mitigasi Spectre, pastikan Anda menggunakan salah satu opsi kompilator /Qspectre. Untuk mengatur properti ini di IDE Visual Studio, buka Properti untuk proyek ini, dan di halaman properti Properti Konfigurasi>C/C++>Pembuatan Kode, atur properti Mitigasi Spectre ke Diaktifkan, atau Semua muatan untuk /Qspectre-load, atau Semua Muatan Alur Kontrol untuk /Qspectre-load-cf.

Untuk informasi selengkapnya, lihat Mitigasi Spectre di MFC.