-
-
未解决
VS2022+WDK无法正常编译,向大佬们求教
-
发表于:
2024-4-27 23:01
1860
-
未解决 VS2022+WDK无法正常编译,向大佬们求教
VS2022+SDK10.0.22621.0+内部版本号相同的WDK(官网上教程直接下的)
正常方法安装WDK后新建工程类型中能够成功出现一系列驱动类工程模板。
创建空驱动工程后,使用代码:
1 2 3 4 5 6 | #include <ntddk.h>
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegPath) {
NTSTATUS status = STATUS_SUCCESS;
DbgPrint( "Hello World!" );
return status;
};
|
可以正常编译,但无法完成整个编译过程,卡在生成.obj之后就没了...无法生成.sys系列最终结果。
编译输出,明显少点什么:
输出文件夹,本应清除的.obj等文件被保留,且输出文件夹为空:
而且每次新建工程后,需要在项目设置中手动添加WDK相关头文件目录才能正常编译,包括:
1 2 | C:\Program Files (x86)\Windows Kits\ 10 \Include\ 10.0 . 22621.0 \km
C:\Program Files (x86)\Windows Kits\ 10 \Include\wdf\kmdf\ 1.33
|
甚至还出现了#error
编译错误,需要在项目属性的“C/C++”->“预处理器”->“预处理器定义”中加上“AMD64”字样,才能消除所有错误。
此外,各种驱动工程的属性页中甚至没有“链接器”一项:
在此之前,在每次VS2022启动时总会弹出类似下面的对话框(当然是中文的),后来被同校大佬不知道怎么解决了这个问题:
希望大家能够提供一些帮助哈~
[注意]APP应用上架合规检测服务,协助应用顺利上架!