(一)C/C++属性设置
1. 添加包含文件
"$(WDK)\inc\crt";"$(WDK)\inc\api";"$(WDK)\inc\ddk"
2. 设置目标平台 Preprocessor:
_X86_
3. 修改调用约定为
__stdcall (/Gz)
4. 运行时库选择多线程调试(MTd)或者多线程(MT)
基本运行时检查:默认值
(二)Linker 属性设置
1. General:
输出文件(自己定义)如:..\Output\test.sys
2. System:
子系统: 本机(/SUBSYSTEM:NATIVE)
驱动程序: 驱动程序(/DRIVER) //必选
3. Advanced:
入口点: DriverEntry //必选
4. 链接冲突处理:
Manifest File:
启用用户账户控制(UAC) 否
不然会出现 >LINK : fatal error LNK1295: “/MANIFESTUAC”与“/DRIVER”规范不兼容;链接时不使用“/MANIFESTUAC”
Advanced:
随机基址:清空 (默认值) //必选
不然会出现 e:\xxx.sys : fatal error LNK1295:
“/DYNAMICBASE”与“/DRIVER”规范不兼容;链接时不使用“/DYNAMICBASE”
数据执行保护(DEP): 清空 (默认值) //必选
不然会出现 e:\xxx.sys : fatal error LNK1295:
“/NXCOMPAT:NO”与“/DRIVER”规范不兼容;链接时不使用“/NXCOMPAT:NO” 、
(三) warning 消除
调试信息格式:C7 兼容(/Z7)
启用增量链接:否(/INCREMENTAL:NO)
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/mjpassion/article/details/18797709