错误 MSB8040:此项目需要 Spectre-mitigated 库

Ano*_*ser 3 c++ wdk visual-studio-2019

我有一个我无法解决的问题。我的代码:

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

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

我的目标是运行这个程序没有任何问题。错误信息:

  • 错误 MSB8040:此项目需要 Spectre-mitigated 库。对于正在使用的任何工具集和体系结构,从 Visual Studio 安装程序(单个组件选项卡)安装它们。了解更多:https : //aka.ms/Ofhn4c

    我添加了一些库,但错误仍然出现。添加的工具集:

  • 用于最新构建工具版本 142 (ARM) 的 C++ ATL

  • 用于最新构建工具版本 142 (ARM64) 的 C++ ATL
  • 用于最新构建工具版本的 C++ ATL (x86 i x64)
  • 用于最新构建工具版本 142 的 C++ ATL 以及针对 Spectre 漏洞 (ARM) 的对策
  • 用于最新构建工具版本 142 的 C++ ATL,带有针对 Spectre 漏洞的对策 (ARM64)
  • 用于最新构建工具版本 142 的 C++,带有针对 Spectre 漏洞的对策 (x86 i x64)

有人可以一步一步指导我如何解决它吗?

Jes*_*uhl 5

这个:https : //devblogs.microsoft.com/cppblog/spectre-mitigations-in-msvc/Qspectre编译器选项,可能是你在找什么?(请注意,您需要使用/Qspectre重新编译所有代码,包括您使用的库以充分利用)。