Visual Studio 2015 编译C++一直报Could not open version header file :bldnump.h
Visual Studio 2015专业版
已经安装WIN10 1607的SDK;
已经安装WIN10 1607的WDK;
新建一个WDM驱动,只添加一个c文件(内容相同的cpp文件也不行):
[C] 纯文本查看 复制代码 ///
/// [url=home.php?mod=space&uid=267492]@file[/url] hello.c
/// [url=home.php?mod=space&uid=686208]@AuThor[/url] REInject
/// [url=home.php?mod=space&uid=686237]@date[/url] 2020-05-31
///
#include <ntddk.h>
// 提供一个Unload 函数只是为了让这个程序能够动态卸载,方便调试
VOID DriverUnload(PDRIVER_OBJECT driver)
{
// 但是实际上我们什么都不做,只打印一句话
DbgPrint("hello: Our driver is unloading...\r\n");
}
// DriverEntry,入口函数。相当于main。
NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)
{
// 这是内核模块入口,可以在这里写入我们想写的东西
DbgPrint("hello: my salary!");
// 设置一个卸载函数,便于这个函数退出
driver->DriverUnload = DriverUnload;
return STATUS_SUCCESS;
}
保存为x64的配置,编译:报以下错误:
=========================
1>------ 已启动生成: 项目: MyDriver1, 配置: Debug x64 ------
1> Building 'MyDriver1' with toolset 'WindowsKernelModeDriver10.0' and the
'Desktop' target platform.
1> Using version information from C:\Program Files (x86)\Windows Kits\10\Include
\10.0.14393.0\shared\\ntverp.h
1> Could not open version header file C:\Program Files (x86)\Windows Kits
\10\Include\10.0.14393.0\shared\\bldnump.h. (0x00000002)
1> Could not determine version information. Please specify using -v option.
1> Updates common INF file directives
1> USAGE:
1> stampinf -f filename [-s section] [-d <xx/yy/zzzz> | *]
1> -a architecture -n [-c catalogfile]
1> [-v <w.x.y.z> | *]
1> [-k nnnnn] [-u nnnnn]
1> [-i path]
.
.
.
大堆信息,省略……
1>C:\Program Files (x86)\Windows Kits\10\build\WindowsDriver.common.targets(480,5):
error MSB6006: “stampinf.exe”已退出,代码为 1。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
经查:文件夹:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\shared\
有ntverp.h文件,不存在bldnump.h
这是怎么回事呢? |