原文地址 http://blogold.chinaunix.net/u/25096/showart_480854.html
1. 拷贝 DDKBUILD.bat 和 DDKBUILD.cmd 到DDK安装根目录,如我的是F:\WinDDK.
2. 将上述文件的路径添加到系统的path变量(右击我的电脑,系统属性中,最好是System的path变量),路径用分号分隔
3. 启动VS2005,打开Tools->Options,选择Projects and Solutions->VC++ Directories,在Show directories for Executable files中添加上面DDKBuild.bat文件所在的路径(这里是F:\WinDDK)
4. 根据你所安装的DDK的不同版本添加不同的变量到系统中:
同第二步一样,在我的电脑的属性中添加,
2000 DDK: W2KBASE
XP DDK: WXPBASE
2003 sp1 DDK: WNETBASE,中的一个.
这里我的是WNETBASE(值为F:\WinDDK\3790.1830)
5. 开始安装DDKWizard,在安装的最后一步你可以选择编辑ddkwizard的配置文件.
final,好了,现在你就可以启动VS2005,用它来编译驱动了,咔咔(如果编译时出现不能spawing cmd.exe错误,那就是你把上述的变量添加到了你自己的帐户环境下了)
(注:在安装成功后,在新建项目中有个ddk project选项,可以新建driver项目)
配置生产的语句
在新建项目时的配置选项
原文地址 http://blog.703804.com
VS2005集成DDKWizard 遇到的问题
———————————————————————————— ▲ 建立EmptyDriver 时,
要在sources 文件的第4 行TARGETTYPE= 后面加DRIVER
加入[ 源文件] 后还要在sources 文件里的SOURCES= 后面加上[ 源文件名] 。比如: SOURCES=DriverDemo.cpp \ DriverDemo.h
▲Cannot open include file: \'NTDDK.h\': No such file or directory 解决方案:VS2005/ 工具/ 选项/VC++ 目录/, [ 显示以下内容的目录] 为[ 包含文件] ,把DDK 包含文件加进目录—— [D:\WINDDK\3790.1830\inc\ddk\wnet] 和[D:\WINDDK\3790.1830\inc\wnet] 。
[ 显示以下内容的目录] 为[ 库文件] ,把DDK 库文件加进目录—— [D:\WINDDK\3790.1830\LIB\WNET\I386]
以上DDK 的路径要放到最先。
参考自:http://blog.youkuaiyun.com/jamesandy/archive/2008/03/17/2192267.aspx
结果: ▲ 编译提示错误: BufferOverflowK.lib(gs_support.obj) : error LNK2019: unresolved external symbol _DriverEntry@8 referenced in function _GsDriverEntry@8 objchk_w2K_x86\i386\Helloworld.sys : fatal error LNK1120: 1 unresolved externals 解决方案: 把[ 入口函数DriverEntry] 前加上extern "C" : extern "C"{ NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObj, PUNICODE_STRING pRegistryString) { /*DriverEntry 函数内容*/ } }//extern "C" 结果:OK 。编译通过
直接用DDK 的命令行工具编译>>>>>>>>>>>>>>>>>>>>>>>>> ———————————————————————————— 1 ,D:\WINDDK 下建立工程目录:D:\WINDDK\uu 2 ,D:\WINDDK\uu 下文件清单: DriverDemo.cpp
makefile 代码:
# # DO NOT EDIT THIS FILE!!! Edit .sources. if you want to add a new source # file to this component. This file merely indirects to the real make file # that is shared by all the driver components of the Windows NT DDK # !INCLUDE $(NTMAKEENV)makefile.def
sources 代码:
TARGETNAME=DriverDemo TARGETTYPE=DRIVER DRIVERTYPE=WDM TARGETPATH=OBJ INCLUDES=$(DDKROOT)incddkwnet; $(DDKROOT)incwnet; SOURCES=DriverDemo.cpp
打开:开始/ 程序/……/Windows Server 2003 Checked x86 Build Environment 输入如下: D:\WINDDK\3790~1.183>cd ..//uu D:\WINDDK\uu>build
原文件地址:http://blog.youkuaiyun.com/xiaou_is_me/archive/2008/05/13/2441117.aspx