VS2005+WINDDK+Driver Studio 3.2个人总结
通过在网上搜索大量的资料,终于把环境搭建起来。对于我这样的驱动新手来说,理应把高手们的东西整理并总结下,方便以后的初学者。
这三个软件的安装顺序没有具体规定,也有高手推荐的顺序,我自己也是重复安装卸载,个人的顺序是: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。
VS2005+WINDDK+Driver Studio 3.2个人总结的更多相关文章
- VC/DDK/DriverWorks开发环境配置
1·前言开发windows内核驱动程序是一个非常具有挑战性的工作,你得忍耐调试过程中操作系统 不断蓝屏.不断崩溃的噩梦,所以强烈建议你采用虚拟机做开发平台,这样即使把整个系统都搞蹦了,大不了从新装过虚 ...
- iis浏览网页时提示无法显示 XML 页
无法显示 XML 页. 使用 样式表无法查看 XML 输入.请更正错误然后单击 刷新按钮,或以后重试. 处理资源 'http://localhost/ 时出错.第 1 ...
- VS05 VS08 VS10 工程之间的转换
VS05 VS08 VS10 工程之间的转换 安装了VS2010后,用它打开以前的VS2005项目或VS2008项目,都会被强制转换为VS2010的项目,给没有装VS2010的电脑带来不能打开高版本项 ...
- 9030PCI CAN驱动开发点滴
1.配置EEPROM. 使用PlxMon打开9030,基本修改Spacex(0,1,2,3), Chip selectx(0,1,2,3), 中断状态INTCSR(0x74), 其他(0x78),详细 ...
- 深入linux kernel内核配置选项
============================================================================== 深入linux kernel内核配置选项 ...
- Visual Studio 2012,创建工程Build Driver,基于纯Source Code.
拿到一堆纯代码,怎么去Create Project,设置Include路径,lib路径,要不要Pre-compile技术,配置Project之间的依赖关系. SourcesConverter Bas ...
- Atitit. visual studio vs2003 vs2005 vs2008 VS2010 vs2012 vs2015新特性 新功能.doc
Atitit. visual studio vs2003 vs2005 vs2008 VS2010 vs2012 vs2015新特性 新功能.doc 1.1. Visual Studio2 1.2. ...
- Visual Studio快捷键 [VS2008/VS2005]快捷键
VS系统通用快捷键: 1.自动排版(类似VC6中的Alt+F8) 编辑.格式化选定内容 Ctrl + K,Ctrl + F 根据周围的代码行,正确缩进选定的代码行. 2.注释与去掉注释功能. 编辑.注 ...
- Visual Studio解决方案vs2005/vs2008/vs2010/vs2012/vs2013/vs2015版本互相转换工具
原文:http://blog.csdn.net/xiejiashu/article/details/52397641 本文转自EasyDarwin团队成员Alex的博客:http://blog.c ...
随机推荐
- Visual Studio 继续并运行上次的成功生成,未提示直接运行上一个版本解决方案!
Visual Studio ==>工具 ==> 选项==>项目和解决方案 ==>生成并运行_运行时,当出现生成或部署错误时_选择,提示启动
- eclipse中tomcat启动项目 修改java代码不重启服务
1.双击tomcat 2.选择modules 3.选中项目点击edit 4.去掉勾.去除auto reloading enabled 的选中 ,点击OK,
- Oracle "Job定时"
今天需要做个定时器,定时到别的库导入数据用到了Job,第一次使用记录下来,如果有第一次操作的可以借鉴一下 1.首先,使用Toad新建job,进入配置页面
- bzoj 1057: [ZJOI2007]棋盘制作 单调栈
题目链接 1057: [ZJOI2007]棋盘制作 Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 2027 Solved: 1019[Submit] ...
- asp.net mvc3 linq实现数据的增、删、改、查、
asp.net mvc 3 linq实现数据的增.删.改.查. 添加数据 定义一个对象: public class Student { public int id{get; set;} public ...
- LintCode-三数之和
题目描述: 给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组. 注意事项 在三元组(a, b, c),要求a <= b <= c ...
- XMLTProcessor根据XSLT样式规则将节点转换为document对象
最近使用Firefox进行网页的调试,发现有些javascript XSLT处理xml的语句仅仅支持IE浏览器.而网络中的一些介绍Javascript XSLT 处理XML的文章基本上都是依据Ajax ...
- MFC消息截获之pretranslatemessage
前几天,查了一个batch的问题,问题大致是这样,父窗口消息一个鼠标消息,弹出一个模态框,CPU负荷就飚升到100%(双核就是50%),非常怪异,用windbg,分析哪个线程占用CPU,定位到鼠标响应 ...
- 试用阿里云RDS的MySQL压缩存储引擎TokuDB
以前就用过自己搭建MySQL服务器的两种存储引擎MyISAM和InnoDB(也用过一点Memory方式),在今年初转向阿里云关系型数据库服务RDS的时候,看到可调参数中有一个TokuDB,不过不太了解 ...
- poj 1836 Alignment(线性dp)
题目链接:http://poj.org/problem?id=1836 思路分析:假设数组为A[0, 1, …, n],求在数组中最少去掉几个数字,构成的新数组B[0, 1, …, m]满足条件B[0 ...