通过在网上搜索大量的资料,终于把环境搭建起来。对于我这样的驱动新手来说,理应把高手们的东西整理并总结下,方便以后的初学者。

这三个软件的安装顺序没有具体规定,也有高手推荐的顺序,我自己也是重复安装卸载,个人的顺序是:VS2005、DriverStudio3.2、Windows XP DDK。个人觉得后面两个的安装顺序关系不大。

1.VS2005本人安装的英文版,可以在网上下载。

2.DriverStudio3.2 和Windows XP DDK可以百度搜,由于个人的上传上限为60M,不能上传到CSDN,所以大家可以在网上下载。

3.DriverStudio3.2的补丁DSDDKEnv.zip,这个我上传了,可以在我的资源中找到。

安装过程中容易出错的地方说明:

1.在安装DriverStudio3.2,会提示一个ERROR 1904  module的错误,在这里点击ingore就行。

2.另外DriverStudio3.2选择安装路径时不要有空格,本人在刚开始安装时没注意直接选择了D:\program files路径导致后来又重新安装。

3.安装DDK时,会弹出一个下面对话框,要把列表中的全部勾选。

全部安装完成后,接下来就是补丁修复

把下载的DSDDKEnv.zip解压,用文件DSDDKEnv8.dll、DSDDKEnv8UI.dll分别替换掉...../DriverStudio/Common/Bin和DriverStudio/Common/Bin/1033目录下的同名文件。

然后在开始菜单的运行中分别输入以下两条命令:

regsvr32 -u <安装目录>\DriverStudio\Common\Bin\dsddkenv8.dll,

例如本人输入的为:regsvr32 D:\driverstudio\Compuware\DriverStudio\Common\Bin\dsddkenv8.dll

regsvr32 <安装目录>\DriverStudio\Common\Bin\dsddkenv8.dll

注:如果<安装目录>中有空格,那么以上两条命令会执行出错。

这时打开VS2005,其菜单栏的Tools中出现了DriverStudio子菜单。接下来还有以下几个工作要做:

1:Tools->DriverStudio->DDK Build Settings设置DDK路径,即将DDK Root Directory设置为C:/WINDDK/2600(根据自己的安装路径修改)

2:生成vdw_wdm.lib,这个库文件在以后编译驱动时是需要的。过程如下:

首先,用VS2005打开..../DriverStudio/DriverWorks/source/VdwLibs2005.sln;

将VdwLibs设为Active Project;

然后右击VdwLibs->Properties,VdwLibs Property Pages顶部的Configuration和Platform要分别改成Active(WDM Checked)和win32 Active,这个很重要。

注1:这个一定要改对!!不然生成的vdw_wdm.lib是错误的,错误的库会导致以后编译驱动时出错,很烦的。

注2:检查VdwLibs Property Pages->Librarian中的Output File是否为$(OutDir)/vdw_wdm.lib,如果不是,就改成这个。

最后编译工程(用Tools->DriverStudio->Build Solution),vdw_wdm.lib就生成了(请确认\DriverStudio\DriverWorks\lib\i386\checked目录下有生成)。

应该到此就安装完成了。大家可以用VS2005打开.../DriverStudio/DriverWorks/Examples/wdm中的一个例程,比如hellowdm。然后用菜单栏的Tools->DriverStudio->Build Solution with DDK Build.exe。如果生成正确,即在.../DriverStudio/DriverWorks/Examples/wdm/hellowdm/sys/objchk/i386中出现了HelloWdm.sys,那么就大功告成了,配置好了。

接下来我们用Tools->DriverWizard生成驱动模板(具体怎么生成大家自己研究吧^_^)

驱动工程文件生成后,同样用Tools->DriverStudio->Build Solution with DDK Build.exe编译时,

会出现这个错误:1>NMAKE :  U1073: don't know how to make 'C:/WINDDK/2600/lib/wxp/i386/ntstrsafe.lib'

出错原因是:根本就没有C:/WINDDK/2600/lib/wxp/i386/ntstrsafe.lib这个库文件,这貌似是DS3.2的bug

解决办法是:1:在Project的Property pages里的Link=>Input=>Additional Dependencies项中去掉这个库

2:在Project的source文件中找到这句话,删掉就可以了哦:TARGETLIBS=$(DDK_LIB_PATH)/ntstrsafe.lib $(DDK_LIB_PATH)/csq.lib。

最新文章

  1. 记一次与a标签相遇的小事
  2. 【来自媳妇的需求】PHP实现随机数和方程求解
  3. 如何导出和导入mysql数据(数据迁移)
  4. dwz中权限的控制
  5. 排列 &amp;&amp; 组合
  6. ExtJS学习之路第二步:Ext.Component 和 Ext.dom.Element 的区别
  7. &lt;转&gt;Npoi导入导出Excel操作&lt;载&gt;
  8. log4net使用简明教程
  9. memcached 在windows下安装及启动
  10. INF文件
  11. 从XML文件中获取格式化的文本信息
  12. Introducing &#39;bind&#39;
  13. JavaScript中的與和或的規則
  14. 关于java的自动拆装箱若干细节问题
  15. 从PRISM开始学WPF
  16. T-SQL :SQL Server系统数据库(二)
  17. MIME类型解析
  18. Mac系统的下载(图文详解)
  19. Flask:初见
  20. HDU 4716 A Computer Graphics Problem (水题)

热门文章

  1. iOS 切割图片
  2. VS2015+MySql EF的配置问题
  3. 转 c#代码访问https服务器以及https的webservice
  4. 如何分割(split)string字符串
  5. BZOJ 1058: [ZJOI2007]报表统计( 链表 + set )
  6. BZOJ 1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富( dp )
  7. [LeetCode]题解(python):080-Remove Duplicates from Sorted Array II
  8. Qt5位置相关函数异同详解(附源码)
  9. 使用 IIS Manager 对 Windows Azure 网站进行远程管理
  10. 用git上传项目到github