阅读:1581回复:1
编译Extending The MicrosoftPassThru NDIS Intermediate Driver
本人在学NDIS IMD,下了Extending The MicrosoftPassThru NDIS Intermediate Driver来观摩。(http://www.wd-3.com/archive/ExtendingPassthru.htm)有源程序下载。
Driver是可以编译通过,但用户端程序Test通不过,由于Test文件夹下没有.dsw文件,我创建了个MFC Appwizard(exe)把PTUSERIO.H PTUSERIO.CPP、 PTUTILS.CPP添加进去的。 编译总是通不过: 首先:提示找不到ntddkndis.h头文件,我在VC-->options-->directories下添加include files (C:\\winddk\\3790\\inc\\wxp) Library files(C:\\winddk\\3790\\lib\\wxp\\i386) 结果: --------------------Configuration: last - Win32 Debug-------------------- Compiling... PTUSERIO.CPP c:\\winddk\\3790\\inc\\wxp\\ntddndis.h(101) : error C2146: syntax error : missing \';\' before identifier \'Offset\' c:\\winddk\\3790\\inc\\wxp\\ntddndis.h(101) : error C2501: \'ULONG_PTR\' : missing storage-class or type specifiers c:\\winddk\\3790\\inc\\wxp\\ntddndis.h(101) : error C2501: \'Offset\' : missing storage-class or type specifiers C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(43) : error C2871: \'std\' : does not exist or is not a namespace C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(180) : error C2065: \'IOCTL_PTUSERIO_ENUMERATE\' : undeclared identifier C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(255) : error C2065: \'IOCTL_PTUSERIO_OPEN_ADAPTER\' : undeclared identifier C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(345) : error C2065: \'IOCTL_PTUSERIO_QUERY_INFORMATION\' : undeclared identifier C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(590) : error C2065: \'cerr\' : undeclared identifier C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(590) : error C2297: \'<<\' : illegal, right operand has type \'char [39]\' C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(590) : error C2065: \'endl\' : undeclared identifier C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(600) : error C2065: \'IDS_HELLO\' : undeclared identifier C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(601) : error C2065: \'cout\' : undeclared identifier C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(601) : error C2297: \'<<\' : illegal, right operand has type \'const char *\' C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(603) : error C2065: \'IDS_COPYRIGHT\' : undeclared identifier C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(604) : error C2297: \'<<\' : illegal, right operand has type \'const char *\' C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(613) : error C2065: \'IDS_DRIVER_OPEN_FAILED\' : undeclared identifier C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(614) : error C2297: \'<<\' : illegal, right operand has type \'const char *\' C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(634) : error C2065: \'IDS_EMPTY_ENUMERATION\' : undeclared identifier C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(635) : error C2297: \'<<\' : illegal, right operand has type \'const char *\' C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(639) : error C2297: \'<<\' : illegal, right operand has type \'char [17]\' C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(668) : error C2065: \'IDS_UNEXPECTED_ENUMERATION_TERMINATION\' : undeclared identifier C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(669) : error C2297: \'<<\' : illegal, right operand has type \'const char *\' C:\\DRIVERDESIGN\\last\\PTUSERIO.CPP(720) : error C2297: \'<<\' : illegal, right operand has type \'char [27]\' PTUTILS.CPP c:\\winddk\\3790\\inc\\wxp\\ntddndis.h(101) : error C2146: syntax error : missing \';\' before identifier \'Offset\' c:\\winddk\\3790\\inc\\wxp\\ntddndis.h(101) : error C2501: \'ULONG_PTR\' : missing storage-class or type specifiers c:\\winddk\\3790\\inc\\wxp\\ntddndis.h(101) : error C2501: \'Offset\' : missing storage-class or type specifiers C:\\DRIVERDESIGN\\last\\PTUTILS.CPP(38) : error C2871: \'std\' : does not exist or is not a namespace Generating Code... Error executing cl.exe. last.exe - 27 error(s), 0 warning(s) 唉 郁闷了好几天,都没成功通过编译。在站里找过相关文章 (我在学习应用程序与Passthru的通信。 但是在应用程序中包含“ntddndis.h”文件后。出现如下错误 d:ntddkincntddndis.h(101) : error C2146: syntax error : missing \';\' before identifier \'Offset\' d:ntddkincntddndis.h(101) : error C2501: \'ULONG_PTR\' : missing storage-class or type specifiers d:ntddkincntddndis.h(101) : error C2501: \'Offset\' : missing storage-class or type specifiers Error executing cl.exe. KKKK.exe - 3 error(s), 0 warning(s) 我将ntddndis.h中101行的那个结构全部注释掉。仍然出现上述错误 而且错误指向我注释掉的那行。。实在是太奇怪了。 555,刚刚将头文件目录的搜索次序改变一下。将ddkinc放在第一搜索的位置,编译通过。。 呵呵。。。) 试着做了还是不行,我是那部出错了呢(为什么Test文件夹下没有.dsw文件)。 还望各位帮忙,3X。 |
|
沙发#
发布于:2005-05-09 17:45
用VS2003编译,里面有SLN工程文件的
|
|
|