独立博客
无聊记
配置VS08能编译WDK
2,配置环境
08不需要配置编译器,但是需要配置包含文件。设置包含文件 库等
1)包含文件C:\WinDDK\7600.16385.1\inc\api(弄不清楚这个。。大不了全加了)
2)库文件C:\WinDDK\7600.16385.1\lib\win7\i386 对应CPU架构
3,新建一个配置
4,进一步设置
(可选)
(必选)
预处理器定义:WIN32=100;_X86_=1;WINVER=0x501;DBG=1
(可选)
(必选 驱动都用这个 命令行参数什么的)
(输出文件:$(OutDir)\$(ProjectName).sys //必选
启用增量链接:否(/INCREMENTAL:NO) //建议选上)
启用增量链接:否(/INCREMENTAL:NO) //建议选上)
(启用用户账户控制(UAC) 否 //必选 不然会出现 >LINK : fatal error LNK1295: “/MANIFESTUAC”与“/DRIVER”规范不兼容;链接时不使用“/MANIFESTUAC” )
(
输入:
附加依赖项ntoskrnl.lib Hal.lib wdm.lib wdmsec.lib wmilib.lib ndis.lib MSVCRT.LIB LIBCMT.LIB //必选其12
//NT式驱动 ntoskrnl.lib WDM式驱动 wdm.lib
( HalXXX函数在Hal.lib,WmiXXX函数在 wmilib.lib ,NdisXXX函数在 ndis.lib )
( 必要时需要增加微软的标准库 MSVCRT.LIB MSVCRTD.LIB(调试库) LIBCMT.LIBIBCMTD.LIB(调试库) )
( 如果源码中有 source 文件,那么该文件的 TARGETLIBS 字段会列出该项目需要的库 )
忽略所有默认库:是(/NODEFAULTLIB)
)
(入口点:DriverEntry //必选
随机基址:默认值 //必选 不然会出现 1>G:\event2008\check\event2008.exe : fatal error LNK1295: “/DYNAMICBASE”与“/DRIVER”规范不兼容;链接时不使用“/DYNAMICBASE”
数据执行保护(DEP): 默认值 //必选 不然会出现 G:\event2008\check\event2008.sys : fatal error LNK1295: “/NXCOMPAT:NO”与“/DRIVER”规范不兼容;链接时不使用“/NXCOMPAT:NO”
)
(
命令行”->附加选项:
添加开关:/SECTION:INIT,D /IGNORE:4078 //建议填上
可以避免以下错误提示 LINK : warning LNK4078: 找到多个“INIT”节,它们具有不同的属性(E2000020) LINK : error LNK2001: 无法解析的外部符号__load_config_used 命令行”->附加选项:
添加开关:/SECTION:INIT,D /IGNORE:4078 //建议填上
添加开关:/SECTION:INIT,D /IGNORE:4078 //建议填上
可以避免以下错误提示 LINK : warning LNK4078: 找到多个“INIT”节,它们具有不同的属性(E2000020) LINK : error LNK2001: 无法解析的外部符号__load_config_used 命令行”->附加选项:
添加开关:/SECTION:INIT,D /IGNORE:4078 //建议填上
可以避免以下错误提示 LINK : warning LNK4078: 找到多个“INIT”节,它们具有不同的属性(E2000020) LINK : error LNK2001: 无法解析的外部符号__load_config_used
)
5,
配置完竟然报一大堆的错误。。查了无数网站后说要下载win7 sdk 1.4G
出师不利啊
终于解决了再下载错了一个驱动后。。我下成了安腾处理器的SDK,其实现在CPU都是x86的架构。。虽然他是64的。
安装完成后用这个工具
把SDK设置为7.0就终于编译通过了一个sample