阅读:5402回复:20
解答:如何在VC下编译WDM驱动程序
一:驱动编写(DDK)的环境及调试手段
1:环境 VC6.0+DDK+DDAppWiz.awx ,按照以上顺序安装,且VC6.0要安装于根目录下,文件DDAppWiz.awx 需要拷贝至Microsoft Visual Studio\\Common\\MSDev98\\Bin\\IDE目录下。 即可实现在VC环境下对驱动程序的编写和编译。 PS: 1 文件DDAppWiz.awx 来源于《Windows2000设备驱动程序设计指南(The Windows 2000 Device Driver Book, A Guide for Programmers, Second Edition)》Art Baker Jerry Lozano一书的配套光盘。 使用该文件后,可不必设置关于DDK的环境变量,但是要注意把VC中Tools->Options->Dirctarys->include files 中的加入NTDDK\\INC 目录,且要放到前边。 2 DDK是free的开发包及工具,来源于微软的网站。 3 实现对DDK中例子代码编译的过程如下:建立一个EMPTY的 WIN2K DEVICE DRIVER 类型的工程;然后把.c文件加入SouceFiles,.h文件加入HeadFiles中,makefile 和sources 文件加到ResourceFiles中;Build ->Batch Build …->Build all。 |
|
最新喜欢:David_... |
沙发#
发布于:2004-04-27 11:49
按照上面的步骤做了,但build的时候,出现如下错误:
C:\\Program Files\\Microsoft Visual Studio\\VC98\\Include\\INITGUID.H(19) : fatal error C1189: #error : initguid: must include objbase.h first. 但包含这个头文件后,又有一堆别的错误,是什么原因? 如何解决?谢谢! |
|
板凳#
发布于:2004-05-13 17:17
对于DDAppWiz.awx 请问哪里可以下载的么?我只有书没有盘 :(
|
|
地板#
发布于:2004-05-13 17:24
哦,突然一下在这本书网站上找到了!
|
|
地下室#
发布于:2004-05-14 17:13
其实我觉得用DDK提供的build编译驱动挺好的。
我现在一般都是用sourceinsight+DDK build 关键是一个习惯的问题。 |
|
5楼#
发布于:2004-05-15 22:16
VC的例子里有也个类似的NT``.awx是NT4.0的在两千里改改也能用!不过VC6.0的编译指令里没有DRIVER的编译,改起来也没什么意思. :)
|
|
6楼#
发布于:2004-05-15 22:55
VC的例子里有也个类似的NT``.awx是NT4.0的在两千里改改也能用!不过VC6.0的编译指令里没有DRIVER的编译,改起来也没什么意思. :) VC的link,有个/driver选项,就是产生driver的 |
|
7楼#
发布于:2004-05-16 22:55
哦,突然一下在这本书网站上找到了!To:fanchao41,我怎么就没有找到呢,能不能上传这个awx文件?谢谢 :) |
|
|
8楼#
发布于:2004-05-18 10:19
To:LuckGood 给你!
|
|
|
9楼#
发布于:2004-05-18 10:31
两点疑问!
1。关于DDAppWiz.awx的目录,《WINDOWS 2000 设备驱动程序设计指南》中讲的是放在...\\micrrosoftVisualStudio\\Common\\MSDev98\\Template 两种方法都可以建立WIN2K DEVICE DRIVER的工程,这是怎么回事? 2。VC++为什么一定要装到根目录啊?如果现在没装在根目录下,就一定要重装?因为我按照你的方法,而VC没装在根目录下编译还是通不过。。 能给我讲讲是怎么回事吗?万分感谢! |
|
10楼#
发布于:2004-05-18 12:23
两点疑问! 其实放哪里都行,哪出问题去改哪里就行^_^,我可是贴主哟。没想到这个老贴浮出来了 |
|
11楼#
发布于:2004-05-21 16:27
我按照你们的做了但是出现了新的问题 请大虾求救!谢谢!
--------------------Configuration: MyNicDriver - Win32 Debug-------------------- Linking... LINK : fatal error LNK1181: cannot open input file \"int64.lib\" Error executing link.exe. MyNicDriver.SYS - 1 error(s), 0 warning(s) |
|
|
12楼#
发布于:2004-05-24 09:40
To:modernhill
Thank you! [编辑 - 5/24/04 by LuckGood] |
|
|
13楼#
发布于:2004-05-24 11:41
我按照你们的做了但是出现了新的问题 请大虾求救!谢谢! 找到int64.lib文件的位置,然后程序里加#pragma comment(lib,\"...int64.lib\") |
|
14楼#
发布于:2004-05-30 16:42
楼上的:我按照你说的做了还是不行
同样的问题 我另外还在vc中配置了相应的路径 结果还是有同样的问题 |
|
|
15楼#
发布于:2004-09-16 18:24
在project setting里面把C/C++ ->Preprocessor 和Link->input里面的path改一下,指向你的ddk实际位置
|
|
|
16楼#
发布于:2004-11-23 14:54
我是在 [工具]->[选择]里面的 [目录]中的Library files里添一项,让它指向int64.lib所在的目录,比如我的是
M:\\NTDDK\\LIBFRE\\I386 编译OK! [编辑 - 11/23/04 by jiunie] |
|
17楼#
发布于:2004-11-26 16:25
现在对于向导生产一个驱动的工程有几个办法了:
1、用Art&Jerry的向导D:\ukyo\Book&Code\WDM\Art & Jerry\Tools\DDAppWiz.awx 叫做W2K Device Driver 2、Walter Oney的向导D:\ukyo\Book&Code\WDM\Walter Oney\Walter Oney1\Walter Oney 1 CD\WDMWIZ.AWX 叫做WDM Driver Wizard 3、有网友提供一个工具,mkdrv.exe也是一个向导,出自于DriverStudio,叫做DevStudio Add-in Wizard 4、还有网友提供的根据,现在一时想不起来了。 |
|
18楼#
发布于:2004-11-26 16:25
现在对于向导生产一个驱动的工程有几个办法了:
1、用Art&Jerry的向导WDM\Art & Jerry\Tools\DDAppWiz.awx 叫做W2K Device Driver 2、Walter Oney的向导WDM\Walter Oney\Walter Oney1\Walter Oney 1 CD\WDMWIZ.AWX 叫做WDM Driver Wizard 3、有网友提供一个工具,mkdrv.exe也是一个向导,出自于DriverStudio,叫做DevStudio Add-in Wizard 4、还有网友提供的根据,现在一时想不起来了。 |
|
19楼#
发布于:2004-11-30 20:29
其实我觉得用DDK提供的build编译驱动挺好的。
我现在一般都是用sourceinsight+DDK build 关键是一个习惯的问题。 |
|
上一页
下一页