在安装完VC6和WDK之后,就开始进行环境的配置了,可结果是弄了半个上午,仍是搞不定。去网上找信息,关于WDK的,可能是使用VS2005或VS2008的,有的要借助于DriverStudio之类的,按上面的方法来配置本身的工程看来不行。因而就参考了别人写的VC6+DDK编译驱动的文章,终于成了,不过有些地方仍是有点不同的。在这里把不同的地方写下来,以供你们参考。windows
参考:http://blog.csdn.net/wzsy/archive/2009/04/07/4053632.aspxspa
(1)第一步:.net
打开VC创建一个Win32 Application工程,而后选择An empty Project。blog
(2)第二步:资源
随便找一个驱动程序,主要是.C,.h及rc资源文件,加入第一步创建的工程开发
(3)第三步:字符串
设置VC编译驱动的环境,这才是重点。get
打开VC的Tool->Options->Directories里设置Include,Lib,及Exectuable File。这里说明下为何要设置这三个东西:Include目录中,主要是供咱们开发使用的头文件.h文件;Lib目录,为咱们驱动所要调用的一些连接库文件;Exectuable File,这个很重要,它里面包含了咱们编译驱动所使用的Cl.exe及链接link.exe文件,VC正是经过这两个文件来生成最后的驱动.sys文件(若是编译出现cl.exe错误,说明是这里的路径设置的不正确,我先前在这里走了弯路了,因此提醒下)。it
设置Include路径:io
E:\WINDDK\6001.18002\INC
E:\WINDDK\6001.18002\INC\CRT
E:\WINDDK\6001.18002\INC\DDK
E:\WINDDK\6001.18002\INC\API (这里可能有些不须要,也可能少了,根据本身的状况在INC目录下继续添加就OK了)
设置LIB路径:
E:\WINDDK\6001.18002\LIB
E:\WINDDK\6001.18002\LIB\CRT\I386
E:\WINDDK\6001.18002\LIB\WNET\I386
设置Executable Files:
E:\WINDDK\6001.18002\bin\x86\x86
(这里要注意,必定要在bin\x86目录下,确切的找到Cl.exe文件,而后添加它所在的目录,DDK与WDK这个文件所在的路径并非同样的,上面的是我所安装的WDK中cl.exe所在的路径,这里要根据不一样状况选择正确的路径)
(4)第四步:
这里要设置工程的属性:
打开VC->Project菜单,找到C/C++选项卡,在Preprocesser definitions里输入以下字符串:
_X86_=1,i386=1,STD_CALL,WIN32=100,_WIN32_WINNT=0x0501,WINVER=0x0501,_DEBUG
在Code Generation里的Calling convention用_STDCALL
Debug版有个特殊编译选项/GZ (注意是大写的,小写的不要删!)删掉,不然有连接错误,chkesp连接 不上什么的。
(5)第五步:
设置link选项卡,将输出文件名改成sys扩展名,
在General的Objcet/Library modules,填写驱动调用的几个lib:
ntoskrnl.lib hal.lib usbd.lib wmilib.lib。
而后进入Output在Entry-point symbol:填DriverEntry
下面就是往Project Options手动增长一些连接选项,复制以下进去:
/machine:IX86 /driver /subsystem:native /SECTION:INIT,d /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221
删除以下选项:
/subsystem:windows
/machine表明目标机器类型,/driver表明驱动,/subsystem:native 也是表明驱动。
(这里,我在配置的时候,只是将/subsystem:windows改成:/subsystem:native没有再进行其它设置,也可成功生成驱动文件,至于有没有问题,暂时不知道)