APing
驱动牛犊
驱动牛犊
  • 注册日期2001-11-05
  • 最后登录2003-08-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2094回复:4

使用DriverStuio碰到的编译问题。

楼主#
更多 发布于:2003-06-21 16:44
用过DriverWorks的朋友知道,一般DriverWorks Wizard向导会生成两个工程,一个是.sys,一个是.exe,我现在的.sys工程已经顺利通过编译并生成.sys,我已在2000下将其安装好。但用于测试.sys的exe工程,在编译时却碰到一些问题,编译器提示:#error NTVERSION symbol must be defined to one of the following: 400, \'WDM\',编译器提示NTVERSION的定义在vdw.h文件中,我打开这个文件,发现有关NTVERSION的定义如下:
#error NTVERSION symbol must be defined to one of the following: 400, \'WDM\',错误出在vdw.h,我打开vdw.h看到有几行关于NTVERSION的:
#ifdef _IA64_
extern \"C\" void __cdecl __mf(void);
#pragma intrinsic(__mf)
#endif

#ifndef __VDW_VERSION__
#define __VDW_VERSION__ 250

#ifndef NTVERSION
#error NTVERSION symbol must be defined to one of the following: 400, \'WDM\'
#endif

#define _WDM_ (NTVERSION == \'WDM\')
#define _NT400_ (NTVERSION == 400)

于是我在这个头文件中加上一行#define NTVERSION 400,再编译,但发现编译器报更多地错误:
--------------------Configuration: Test_RegSample - Win32 Release--------------------
Compiling...
RegSampleDevice.cpp
E:\\NTDDK\\INC\\DDK\\ntddk.h(370) : error C2146: syntax error : missing \';\' before identifier \'Lock\'
E:\\NTDDK\\INC\\DDK\\ntddk.h(370) : error C2501: \'PULONG_PTR\' : missing storage-class or type specifiers
E:\\NTDDK\\INC\\DDK\\ntddk.h(370) : error C2501: \'Lock\' : missing storage-class or type specifiers
E:\\NTDDK\\INC\\DDK\\ntddk.h(7914) : error C2146: syntax error : missing \';\' before identifier \'InterruptTime\'
E:\\NTDDK\\INC\\DDK\\ntddk.h(7914) : error C2501: \'InterruptTime\' : missing storage-class or type specifiers
E:\\NTDDK\\INC\\DDK\\ntddk.h(7928) : error C2146: syntax error : missing \';\' before identifier \'SystemTime\'
E:\\NTDDK\\INC\\DDK\\ntddk.h(7928) : error C2086: \'KSYSTEM_TIME\' : redefinition
E:\\NTDDK\\INC\\DDK\\ntddk.h(7928) : error C2501: \'SystemTime\' : missing storage-class or type specifiers
E:\\NTDDK\\INC\\DDK\\ntddk.h(7935) : error C2146: syntax error : missing \';\' before identifier \'TimeZoneBias\'
E:\\NTDDK\\INC\\DDK\\ntddk.h(7935) : error C2086: \'KSYSTEM_TIME\' : redefinition
E:\\NTDDK\\INC\\DDK\\ntddk.h(7935) : error C2501: \'TimeZoneBias\' : missing storage-class or type specifiers
E:\\NTDDK\\INC\\DDK\\ntddk.h(9101) : error C2146: syntax error : missing \';\' before identifier \'ContextRecord\'
E:\\NTDDK\\INC\\DDK\\ntddk.h(9101) : error C2501: \'PCONTEXT\' : missing storage-class or type specifiers
E:\\NTDDK\\INC\\DDK\\ntddk.h(9101) : error C2501: \'ContextRecord\' : missing storage-class or type specifiers
E:\\NTDDK\\INC\\DDK\\ntddk.h(10051) : error C2146: syntax error : missing \';\' before identifier \'KeTickCount\'
E:\\NTDDK\\INC\\DDK\\ntddk.h(10051) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

Test_RegSample.exe - 16 error(s), 0 warning(s)
不知是何故,不知有没有朋友碰到类似的问题,请指教。

我用的是DriverSuites2.7+Win2000DDK,


 

最新喜欢:

driverLhdriver...
wywa8755
驱动牛犊
驱动牛犊
  • 注册日期2003-06-21
  • 最后登录2004-09-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-09-12 21:39
我也遇到类似的情况,望高手指点
wdy9927
驱动老牛
驱动老牛
  • 注册日期2003-08-04
  • 最后登录2017-02-04
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望143点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-09-16 11:37
ds生成的.exe能测试驱动程序??

我试着生成了一次,可是一点瞬间就没了。

也不知道怎么办。

我没遇到过楼主的情况,不知道该怎么办。 刚刚学,还是小鸟。

 :(
zhoujian29
驱动牛犊
驱动牛犊
  • 注册日期2003-10-16
  • 最后登录2005-11-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-11-27 14:41
可以在console窗口下运行测试程序,可以看到设备被成功打开和关闭的信息,如果是直接在VC中run的,就闪下就没了.
dz_zhong
驱动牛犊
驱动牛犊
  • 注册日期2003-12-16
  • 最后登录2004-03-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-12-19 14:40
记住每次需要编译DS程序的时候都要用Setup DDk and Start DevStudio 运行VC,这样DS会把$(Basedir),$(CPU)等目录自动添加到VC编译目录里面.
游客

返回顶部