Megosztás:


MSB8040 diagnosztikai kód

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:

  1. A Megoldáskezelőben kattintson a jobb gombbal a projektcsomópontra, és válassza a Tulajdonságok (Alt+Enter) lehetőséget.
  2. A projekt Tulajdonságlapok párbeszédpaneljén válassza a Configuration Properties>C/C++>Code Generation tulajdonságlapot.
  3. Állítsa a Spectre Mitigations tulajdonságotLetiltva értékre.
  4. A módosítások mentéséhez válassza OK lehetőséget.

Képernyőkép a Spectre-kockázatcsökkentések Letiltásáról a Visual Studióban.

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:

  1. Nyissa meg a Visual Studio Telepítőt.
  2. Válassza a Használt Visual Studio-verzió melletti Módosítás gombot.
  3. Válassza az Egyes összetevők lapot a párbeszédpanel tetején.
  4. A Keresési összetevők mezőbe írja be a Spectre 14.2-s verziót.
  5. 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.
  6. 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.
  7. Válassza a Módosítás lehetőséget a kijelölt összetevők telepítéséhez.

Képernyőkép arról, hogyan frissítheti a telepítést úgy, hogy a Spectre-kockázatcsökkentési kódtárat is tartalmazza.

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:

  1. A Megoldáskezelőben kattintson a jobb gombbal a projektcsomópontra, és válassza a Tulajdonságok (Alt+Enter) lehetőséget.

  2. A projekt Tulajdonságlapok párbeszédpaneljén válassza a Configuration Properties>C/C++>Code Generation tulajdonságlapot.

  3. Állítsa a Spectre Mitigations tulajdonságot az alábbi értékek egyikére:

  4. A módosítások mentéséhez válassza OK lehetőséget.

A következőkre vonatkozik:

Az MSBuild összes verziója