MSBuild エラー MSB8040

このプロジェクトには Spectre 軽減済みのライブラリが必要です

このエラーは、Spectre 軽減済みのライブラリの使用が要求された ([C/C++]>[Spectre 軽減策][無効] に設定されていない) が、Spectre 軽減済みのライブラリがインストールされていないときに発生します。

このエラーを解決するには、まず Spectre 軽減策を使用するかどうかを決定します。 Spectre の軽減策については、「/Qspectre」コンパイラ オプションのページを参照してください。 Spectre の軽減策が不要な場合は、無効にしてください。 コマンド ライン ビルドの場合、/Qspectre コンパイラ オプションまたはそのバリアントの /Qspectre-load/Qspectre-load-cf を使用していないことを確認します。 これを Visual Studio IDE で無効にするには、ご自分のプロジェクトの [プロパティ] を開き、[構成プロパティ]>[C/C++]>[コード生成] プロパティ ページで、[Spectre 緩和策] プロパティを [無効] に設定します。

Disable Spectre mitigations in the IDE

Spectre 軽減策を使用する場合、Spectre 軽減策をサポートする正しいコンパイラおよびライブラリ コンポーネントがインストールされていることを確認します。 Visual Studio インストーラーで、[変更] を選択し、[個別のコンポーネント] を選択して、「Spectre v14.2」を検索し、[コンパイラ、ビルド ツール、およびランタイム] セクションで [MSVC v142… Spectre-mitigated libs] がビルドしているすべてのアーキテクチャで選択されていることを確認します。 ATL または MFC を使用している場合は、[C++ MFC for latest v142 build tools with Spectre Mitigations] (またはお使いのツールセットに適切なバージョン) などのライブラリが、ビルドしているすべてのアーキテクチャで選択されていることを確認します。

Installing the Spectre mitigations library

また、Spectre 軽減策を有効にするには、/Qspectre コンパイラ オプションのいずれかを使用していることを確認します。 このプロパティを Visual Studio IDE で設定するには、自分のプロジェクトの [プロパティ] を開き、[構成プロパティ]>[C/C++]>[コード生成] プロパティ ページで、[Spectre 緩和策] プロパティを [有効] に設定するか、/Qspectre-loadAll loads または /Qspectre-load-cfAll Control Flow Loads を設定します。

詳細については、MFC の Spectre 軽減策に関するページを参照してください。