驱动学习(1)VS2008+WIN7+WDN的环境配置

独立博客 无聊记


配置VS08能编译WDK

1,将wdk C:\WinDDK\7600.16385.1\src\general\event\wdm  目录下的文件复制到一个VS08的空项目下

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) //建议选上)



(启用用户账户控制(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.libWmiXXX函数在 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 //建议填上
           可以避免以下错误提示      LINK : warning LNK4078: 找到多个“INIT”节,它们具有不同的属性(E2000020)      LINK : error LNK2001: 无法解析的外部符号__load_config_used
)


   
5,
配置完竟然报一大堆的错误。。查了无数网站后说要下载win7 sdk 1.4G

出师不利啊

终于解决了再下载错了一个驱动后。。我下成了安腾处理器的SDK,其实现在CPU都是x86的架构。。虽然他是64的。

安装完成后用这个工具
把SDK设置为7.0就终于编译通过了一个sample














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值