1、下载安装Visual Studio 2008。
2、下载安装WDK 下载地址(点此下载) 建议完全安装,为了便于配置,作者安装到C盘。(C:/WinDDK)
3、 ddkwizards(ddkwizard.exe) ddkbuild_cmd.zip (DDKBULID.CMD) ddkbuild_bat.zip(DDKBUILD.bat), 下载完成后安装ddkwizard.exe,安装目录默认。解压ddkbuild_cmd.zip ddkbuild_bat.zip,拷贝到安装wdk的根目录(C:/WinDDK)。
4、设置系统环境变量
需要设置的地方有两个
(1)、path
需将C:\WinDDK添加到Path变量中
否则编译时会出现找不到命令的错误
(2)、新建系统变量
变量名:WLHBASE
变量值为:C:\WinDDK\7600.16385.0修改为你安装的wdk路径
变量名:W7BASE
变量值为:C:\WinDDK\7600.16385.0修改为你安装的wdk路径
5、工具->选项->项目和解决方案->VC++目录,增加WDK的根目录。分别在可执行文件里加入C:\WinDDK,在包含文件和库文件增加C:\WinDDK\7600.16385.1即可,增加文件需要手动加入。
WINDDK抽取文件做USBHID设备开发,编译出现错误及解决方案
问题1:
PASSIVE_LEVEL 未声明
问题描述及解决方案:
此问题出现在WINDDK安装后,只是拷贝相应头文件至工程目录,而没有设置相应WINDDK工程目录。所以解决方案是添加WINDDK目录至VC工程配置,如下。
打开工具->选项->项目和解决方案->VC++目录,(英文版:Tools->Options->Projects->VC++ Directories)在右侧include files 最顶端添加"(DDK目录)\inc\ddk",然后再$(WindowsSdkDir)**的上一行添加"(DDK目录)\inc\api"。即可。
问题2:
_In_ 未声明
问题描述及解决方案:
此问题出现在WINDDK设置好后,问题1解决的前提下。问题是sal.h头文件版本不匹配导致。解决方案就是定位到(DDK目录)\inc\api,然后修改sal.h文件名为_sal.h_即可。这样便不会产生冲突,编译通过。
error C2496: 'GUID_DEVINTERFACE_USBPRINT' : 'selectany' can only be applied to data items with external linkage
不知道怎么解决,文档里其实只是把GUID_DEVINTERFACE_USBPRINT预定义了一下,它的代码预定义就出问题,自己改一个预定义,问题解决。
error C2664: 'strcpy' : cannot convert parameter 2 from 'WCHAR [1]' to 'const char *'
解决方法:
工程->properties(属性)->General(常规)->project defaults(项目默认值)->character set(字符集设置)->use Multi-Byte Character Set(多字符集)