阅读:1936回复:5
急呀:怎么会出现undeclared identifier?
我在win2k下用DriverWorks 开发一个小驱动程序,其中我调用了2000ddk中的库函数
MmGetPhysicalAddress( ),编译时却发现MmGetPhysicalAddress是一个"undeclared identifier"!我始终搞不明白到底是怎么回事,恳请各位大虾指点。 我在“SetDDKGo"中已经设置好编译环境了,而且在VC下编译成功DS的库函数,就是不能使用Win2K DDK的库函数,这到底是怎么回事?是不是还要设置VC的头文件路径什么的? |
|
沙发#
发布于:2004-08-03 20:27
#pragma comment(lib,"ntoskrnl.lib")
|
|
|
板凳#
发布于:2004-08-04 09:17
非常感谢楼上大虾的指导。我将您说的那句加在“XxxDevice.cpp”文件起始部分,但现在还是那样,说那个函数“undeclared identifier”,好像是哪里设置不对,就是不能使用ddk中的函数。哪位大虾以前遇到过这种问题,恳请指教!
拜谢了! |
|
地板#
发布于:2004-08-04 12:08
#include "ntddk.h "
|
|
|
地下室#
发布于:2004-08-04 12:57
编译出错加#include "ntddk.h "
链接出错加#pragma comment(lib,"ntoskrnl.lib") 要使用MmGetPhysicalAddress这两个都要加 |
|
|
5楼#
发布于:2004-08-04 14:44
将以上两句加在“XxxDevice.cpp”文件起始部分。还是没搞定,真急死人!我把我整个开发环境建立过程说说,请大虾看看有没有漏洞:
1. 安装VC6.0 2. 安装Win2K DDK,安装完后运行Checked Build Enviroment。 3. 安装DriverStudio3.1。安装完后,运行DDK Setting Buildings(SetDDKGo),设置 BASEDIR(其它设置采用默认设置)。 4. 编译DriverWorks库函数。在VC6 IDE中打开vdwlibs.dsw,然后运行batch building。编译成功。 5.新建一个DriverWorks Project,写好驱动后,编译。驱动中要用的DDK中的函数,但编译时却出错。 以上设置中没说明的都没做。是不是哪有漏的? 我又发现更奇怪的,好像DDK中其他的函数都能使用,但就是不能使用MmGetPhysicalAddress不能用,而其它如MmGetMdlByteCount等都能用!怪怪!真愁人! 真心感谢楼上各大虾的指教,先给分再说!谁帮我解决这个问题,给多少都行! [编辑 - 8/4/04 by terrace] |
|