web-dev-qa-db-ja.com

エラーMSB8040:このプロジェクトにはSpectreで緩和されたライブラリが必要です

解決できない問題があります。私のコード:

#include "ntddk.h"
#include <stdlib.h>

NTSTATUS DriverEntry(IN PDRIVER_OBJECT theDriverObject,
    IN PUNICODE_STRING theRegistryPath)
{
    DbgPrint("Hello World!");
    return STATUS_SUCCESS;
}

私の目標は、このプログラムを問題なく実行することです。エラーメッセージ:

  • エラーMSB8040:このプロジェクトにはSpectreで緩和されたライブラリが必要です。使用しているツールセットとアーキテクチャーについては、Visual Studioインストーラー([個別コンポーネント]タブ)からインストールします。詳細: https://aka.ms/Ofhn4c

    ライブラリをいくつか追加しましたが、まだエラーが表示されます。追加されたツールセット:

  • 最新のビルドツールバージョン142(ARM)用のC++ ATL

  • 最新ビルドツールバージョン142(ARM64)用のC++ ATL
  • 最新のビルドツールバージョン(x86 i x64)用のC++ ATL
  • Spectreの脆弱性(ARM)の対策を備えた最新のビルドツールバージョン142のC++ ATL
  • Spectreの脆弱性(ARM64)の対策を備えた最新のビルドツールバージョン142のC++ ATL
  • Spectreの脆弱性(x86 i x64)の対策を備えた最新のビルドツールバージョン142用のC++

誰かが私にそれを解決する方法を段階的に案内してくれませんか?

2
Anonymous-User

これ: https://devblogs.Microsoft.com/cppblog/spectre-mitigations-in-msvc/Qspectreコンパイラオプションは、おそらく、あなたが探しているものですか? (使用するライブラリを含むすべてのコードを / Qspectre で完全に活用するには、再コンパイルする必要があることに注意してください)。

2
Jesper Juhl