首页
社区
课程
招聘
[原创]VS2017 + WDK7600搭建Windows XP驱动编译环境
2020-8-27 11:01 9044

[原创]VS2017 + WDK7600搭建Windows XP驱动编译环境

2020-8-27 11:01
9044

原文:https://www.cnblogs.com/comor/p/13280543.html
转来看雪,一起学习。

 

如果你开发的驱动需要支持Windows XP,就必须使用WDK7600;如果不需要,赶紧安装最新的VS2019+WDK2004吧。
由于WDK7600编译使用命令行,没有集成IDE,使得编码过程较为痛苦,既没有代码提示,又。。好吧,主要就是代码提示,这也是使用VS集成环境最根本的需求。
关于VS集成WDK7600,网上也有一堆的经验,大部分通过改工程编译属性的方式进行,照着做可能出现这样那样的意外,而设置编译成功了,又心里没底。所以,本文介绍另一种方法让WDK7600编译集成到VS中,应该适用于各种VS版本,本文以VS2017为例介绍。
废话不说,开始!

0、安装VS和WDK7600

默认安装就好了。

1、具体步骤

  • 新建一个空的解决方案,如xpDrv1,此时解决方案(sln)应该包含一个默认的工程xpDrv1(proj)
  • 在工程上,右键打开属性,平台x86,以Debug为例进行设置,Release的参数设置相同,可以一起设置
  • 改“配置类型”为生成文件,点击“应用”,左边树形属性列表会相应改变;

  • 点VC++ 目录,将“包含目录”内容删除,粘贴:C:\WinDDK\7600.16385.1\inc\crt;C:\WinDDK\7600.16385.1\inc\api;C:\WinDDK\7600.16385.1\inc\ddk代码提示起作用就是这一步!。注意,此处根据WDK7600目录的位置自己做调整。

  • 点击“NMake”,如下图设置,为了方便复制:

    • 预处理定义:在Debug配置中,填入“DBG”,这里是方便浏览源码用,在实际编译过程中并不起作用
    • 生成,对应工程右键“生成”:cmd.exe /c buildCmd.cmd $(Configuration) -build
    • 重新生成,对应工程右键“重新生成”:cmd.exe /c buildCmd.cmd $(Configuration) -rebuild
    • 清理,对应工程右键“清理”: cmd.exe /c buildCmd.cmd $(Configuration) -clean

  • 在工程根目录新建文件buildCmd.cmd,内容如下(根据WDK安装目录可自行调整相关内容,下面是默认安装)
@echo off
set BUILD_TYPE=%~1
shift
set BUILD_ARG=%~1

if "%BUILD_TYPE%" == "Debug" (
    set DDK_BUILD_TYPE=chk
) else (
    set DDK_BUILD_TYPE=fre
)

if "%BUILD_ARG%"=="-rebuild" (set BUILD_OPTS=/c /Z)

if "%BUILD_ARG%" == "-clean" (
    rd /s /q obj%DDK_BUILD_TYPE%_wxp_x86\ 2>NUL:
    del /s /q build%DDK_BUILD_TYPE%_wxp_x86.* 2>NUL:
) else (
    echo %~dp0
    pushd .
    call C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ %DDK_BUILD_TYPE% x86 WXP no_oacr
    popd
    build %BUILD_OPTS%
)
  • 工程根目录添加sourcesmakefile两个文件,可以从WDK7600 sample中随便拷贝两个过来
  • 添加源文件,例如xpDrv1.c,写点代码试试,你会发现——代码提示有了~
  • 对sources进行相应修改,工程上右键“生成”试试,你会发现——可以生成~

  • 工程上右键“重新生成”试试,嗯
  • 工程上右键“清理”试试,嗯嗯

    这里,只介绍了x86平台的设置,因为Windows XP都是32位,64位的参照此也很容易设置

3、导出模板

  • 点击菜单中“项目”,“导出模板”,弹出对话框,选默认“项目模板”,下一步,下图所示,完成就好了

  • 新建项目,可以发现,有了xpDrv1的模板(下图,是我之前使用xpDrv工程导出的模板),选中创建。

  • 你会发现,文件还是原来xpDrv1的文件,只需要把源文件xpDrv1.c替换一下,sources改一下,就是新的工程了

附件为建好模板,如果是VS2017,直接放在~\文档\Visual Studio 2017\Templates\ProjectTemplates即可


[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2020-8-27 11:02 被comor编辑 ,原因: 没写标题
上传的附件:
收藏
点赞1
打赏
分享
最新回复 (6)
雪    币: 18869
活跃值: (60323)
能力值: (RANK:125 )
在线值:
发帖
回帖
粉丝
Editor 2020-8-27 11:15
2
0
感谢分享!
cnblogs上的这文章是你本人的吧?
雪    币: 568
活跃值: (1538)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
comor 2020-8-27 12:03
3
0
Editor 感谢分享! cnblogs上的这文章是你本人的吧?
嗯嗯,是的
雪    币: 123
活跃值: (316)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
taizhong 2020-10-17 16:21
4
0
啊这,,,,
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wx_没有花生米的日子 2021-1-22 22:43
5
0
感谢
雪    币: 4
活跃值: (88)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
SM的缠绵 2021-6-19 15:19
6
0
感谢大佬的指点,SDK要和WDK版本一致。
今天因为SDK和WDK版本不一致问题差点搞死了
雪    币: 168
活跃值: (550)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
尼古拉斯大拿 2021-10-12 03:43
7
0
受教了,这个方法不错哦。
游客
登录 | 注册 方可回帖
返回