. 还是需要使用WDK7600来编译支持XP系统的驱动,因为很多企业厂家还是有因为各种原因在使用XP系统那么就还是得搜索一些WDK7600的编译方法,但是现在网上上面搜索一些关键字解释都不满意一篇文章各种转载不过最后还是靠WDK7600自带的文档给解决了问题。下面这些是我自己使用的一写指令。不多但是也足够了,不够的翻页到最下面去找WDK7600文档中的文件路径自己查询。
默认模板
TARGETNAME = xx TARGETTYPE = DRIVER TARGETPATH = debug TARGETPATH = OBJ INCLUDES = $(BASEDIR)\inc; \ $(BASEDIR)\inc\ddk; SOURCES = \ xx.cpp
常用命令
TARGETNAME
. TARGETNAME=xxx #你需要编译出驱动的名称:xxx.sys
TARGETPATH
. 所有构建产品的目标目录。不太理解什么意思,但是两个缺一不可。照抄就行了。
TARGETPATH=debug
TARGETPATH=OBJ
TARGETTYPE
. TARGETTYPE=DRIVER #编译的驱动类型,默认是SYS,如果想编译成static lib则修改 LIBRARY
INCLUDES
. INCLUDES= 这个是你需要包含的头文件目录。$(BASEDIR)指的是你WDK7600的默认安装路径比如我的就是安装在“C:\WinDDK\7600.16385.1”中,那么$(BASEDIR)\inc;就是包含“C:\WinDDK\7600.16385.1\inc”和“C:\WinDDK\7600.16385.1\inc\ddk”两个路径。如果你的工程中使用了static lib那么就需要包含其他目录的头文件可以使用“..\..\ xx\yy;”表示包含上两级目录中子目录xx\yy\目录包含到工程中。使用这种方式不需要加‘$’。或者你也可以写绝对路径。但是路径中不能有中文!!
TARGETLIBS
. TARGETLIBS= 如果你你需要加载三方的static lib那么你需要使用这个来指定static lib的路径。路径规则同上面。
C_DEFINES
. C_DEFINES= 用来定义代码中使用的预处理器命令。
#define DDDD 1 //转换 C_DEFINES = /D"DDDD=1" #define SSS //转换 C_DEFINES = /DSSS //这里/D和宏SSS中间不能有空格 //在文件srouces中定义多个宏 C_DEFINES = / D"DDDD=1" /DSSS /D......
最后文档路径
. Windows Driver Kit -> Device and Driver Development Tools -> Tools for Building Drivers -> Build -> Build Utility Reference -> Build Utility Macros。
发表评论