Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a cikk a MSB8040 hibakódot ismerteti.
Üzenet szövege
MSB8040: Spectre-mitigated libraries are required for this project.
Leírás
Ez a hiba akkor fordul elő, ha a projekt Spectre-mitigált kódtárakat igényel (C/C++>Spectre-kockázatcsökkentés nincs letiltva), de a kódtárak nincsenek telepítve. További információ: Spectre-kockázatcsökkentések a Microsoft Foundation-osztályokban (MFC).
Rezolúció
Először állapítsa meg, hogy szeretné-e implementálni a Spectre-kockázatcsökkentést, majd kövesse a szükséges lépéseket a telepítés frissítéséhez a hiba elhárításához.
A Spectre-kockázatcsökkentés letiltása
Ha nem szeretné használni a Spectre-kockázatcsökkentést, tiltsa le a Lehetőséget a Visual Studióban. Parancssori buildek esetén győződjön meg arról, hogy nem használja a /Qspectre fordítóbeállítást vagy annak változatait, /Qspectre-load és /Qspectre-load-cf.
A Visual Studio beállításának letiltásához kövesse az alábbi lépéseket:
- A Megoldáskezelőben kattintson a jobb gombbal a projektcsomópontra, és válassza a Tulajdonságok (Alt+Enter) lehetőséget.
- A projekt Tulajdonságlapok párbeszédpaneljén válassza a Configuration Properties>C/C++>Code Generation tulajdonságlapot.
- Állítsa a Spectre Mitigations tulajdonságotLetiltva értékre.
- A módosítások mentéséhez válassza OK lehetőséget.
Spectre-sebezhetőség enyhítése engedélyezése
Ha a Spectre-kockázatcsökkentés mellett dönt, győződjön meg arról, hogy a telepítés tartalmazza a megfelelő fordító- és kódtár-összetevőket a Spectre-kockázatcsökkentés támogatásával.
A telepítés frissítéséhez kövesse az alábbi lépéseket:
- Nyissa meg a Visual Studio Telepítőt.
- Válassza a Használt Visual Studio-verzió melletti Módosítás gombot.
- Válassza az Egyes összetevők lapot a párbeszédpanel tetején.
- A Keresési összetevők mezőbe írja be a Spectre 14.2-s verziót.
- A Fordítóprogram, buildelési eszközök és futtatókörnyezet szakaszban győződjön meg arról, hogy az MSVC v142… Spectre-enyhített könyvtárak lehetőség minden architektúránál, amelyet a build céloz, ki van választva.
- Az ATL vagy az MFC használatához válassza ki a kódtárakat is, például a C++ MFC-t a legújabb v142-es buildeszközökhöz a Spectre-kockázatcsökkentésekkel (vagy az eszközkészlet megfelelő verziójával) a buildelési célok összes architektúrájához. További információ: MFC- és ATL-kódtárak telepítése.
- Válassza a Módosítás lehetőséget a kijelölt összetevők telepítéséhez.
Fordítóbeállítások megadása
Ha engedélyezi a Spectre-kockázatcsökkentéseket, adjon meg egy fordítóbeállítást /Qspectre . További információ: /Qspectre fordítóprogram opciója.
A fordító opció /Qspectre megadásához kövesse az alábbi lépéseket:
A Megoldáskezelőben kattintson a jobb gombbal a projektcsomópontra, és válassza a Tulajdonságok (Alt+Enter) lehetőséget.
A projekt Tulajdonságlapok párbeszédpaneljén válassza a Configuration Properties>C/C++>Code Generation tulajdonságlapot.
Állítsa a Spectre Mitigations tulajdonságot az alábbi értékek egyikére:
- Engedélyezett
- A /Qspectre-loadösszes terhelése
- A /Qspectre-load-cfösszes vezérlőfolyamat-terhelése
A módosítások mentéséhez válassza OK lehetőséget.
A következőkre vonatkozik:
Az MSBuild összes verziója