XP DDK+DDKWizard+VS2008配置驱动开发环境

在软件开发学习的过程中,开发环境的配置永远是摆在软件开发者面前的第一个拦路虎,驱动开发的环境配置更是如此,下面是XP DDK+DDKWizard+VS2008配置驱动开发环境图文教程。

一、 安装VisualStudio 2008

这个无需多言,傻瓜安装,一路next。

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::0
二、安装Windows XP DDK

现在微软不提供DDK下载了,比较难下载到,经过一番internet的搜索,最终让我在北大的天网搜索里搜索到的了XP的DDK,地址为:ftp://210.42.106.194/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/DDK/

XP的DDK与2003的DDK是不同的:网上有人先是安装了DDK 2003,并选择使用DDK2003,但是在WindowsXP系统下编译的时候总提示:

error C1083: Cannot open include file: ‘D:/WINDDK/3790~1.183/inc/wnet/warning.h’: No such file or directory

但实际的驱动程序源文件中并没有用到warning.h文件,由此看来在XP系统下使用DDK 2003还是有配置不当的问题,但也很有可能是我对DDKWizard的使用还有不清楚的地方,总之,使用了DDK XP后,一切顺利。建议全选,如下图:

 

安装Windows XP DDK

三、安装DDKWizard

在http://ddkwizard.assarbad.net/网站上发现了一个很好用的辅助工具DDKWizard, 能够方便地对开发环境进行配置,试用之后感觉很方便,真是适合懒人啊,工具的作者也自称是因为懒惰才开发此工具,看来“懒惰是推动科技发展的动力”一点不假 。

安装DDKWizard,一路Next即可,easy。

 

安装DDKWizard

四、 Ddkbuild.cmd

http://ddkwizard.assarbad.net/下载ddkbuild.cmd和ddkbuild.bat。 然后将将ddkbuild.cmd拷贝到特定DDK版本安装的父目录下,例如,我的DDK XP的安装目录是D:/WINDDK/2600,就将 ddkbuild.cmd拷贝到D:/WINDDK目录下。

在此说明一下,安装DDK时,无论是DDK XP、DDK 2003或DDK Vista,最 好不要改变安装时的默认目录名称,例如XP的目录是2600,2003的目录是3790.1830,因为如果改了目录名称,还要对DDKWizard进行 更多的修改,麻烦,也没必要。

五、配置环境变量

将上述文件(DDKBUILD.bat 和 DDKBUILD.cmd )的路径添加到系统的path变量。 根据你所安装的DDK的不同版本添加不同的变量到系统变量中。右击我的电脑,系统属性/高级/环境变量/系统变量/新建:

  • 2000 DDK则变量名为: W2KBASE
  • XP DDK则变量名为: WXPBASE
  • 2003 sp1 DDK则变量名为: WNETBASE

这里我的是WNETBASE(值为x:/WinDDK/2600)

配置驱动开发环境变量

 

六、Visual Studio 2008的配置

打开VS 2008,菜单“工具”->“选项”->左侧“项目和解决方案”->“VC++目录”->右侧“可执行文件”下拉列表->添加一项x:/WINDDK(根据你的实际情况)。在VS的选项中如下配置,即可执行文件中添加DDK的目录,

配置Visual Studio 2008

然后,在show directoriesfor选择Library files,并添加链接库,例如我的是x:/WINDDK/2600/lib/wxp/i386::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::5

设置包含文件(x:/WINDDK/2600/inc/wxp; x:/WINDDK/2600/inc/ddk/wxp )

设置DDK包含文件

至此,设置工作就都完成了。 编译一个驱动程序体验一下:

七、编译.sys驱动文件

1. 新建一个空的驱动程序项目,如下图:

编译.sys驱动文件

2. 点击确定后,出现DDKWizard选项对话框

DDKWizard选项对话框

注意,选择XPDDK,本人的建议是不要选上Create PREfast configuration,否则好像是编译不出sys文件?

3.将驱动程序的所有源文件加入项目中。

新建DDK Project之后修改SOURCE文件:

其中TARGETTYPE=后面加DRIVER;

加入以下两行:

DDKROOT=D:/WINDDK/2600;   #这里要和安装目录一样

INCLUDES=$(DDKROOT)/inc;

加入[源文件]后还要在sources文件里的SOURCES=后面加上[源文件名]。比如:

SOURCES=Helloworld.c

4.点击F7进行编译。

就可以顺利编译生成.sys驱动文件

另外注意的以下3个问题:

1. 编译时必须保证 makefile,sources和源程序在同一目录下

2. 编写sources文件时,其中的”=”两边不能有空

3. 项目工程的工作目录的绝对路径中不能出现空格,如 “C:/Documents and Settings/MyProgramme/”

将不能被DDK编译器编译,而且表面上看来DDK好像是完成的编译,什么错误提示都没有,实际上什么也没做。!这很让人郁闷!

 

本教程演绎自:http://blog.csdn.net/wqvbjhc/article/details/5112134

此条目发表在 windows驱动开发 分类目录,贴了 , 标签。将固定链接加入收藏夹。

发表评论