阅读:1621回复:9
求救:xpPassthru按要求改Source在2000下编译居然PIRP没定义,确实没有包含WDM.h亚?
我仔细修改了xppassthru的source以及在precomp.h中添加#undef _MAC,但是build -c后居然IRP没有定义,我看了包含的头文件
#include <ndis.h> #include \"passthru.h\" 这两个头文件都没有包含wdm.h 怎么会有IRP的定义呢? 是不是还要包含wdm.h? P:\\xppass1\\driver>build -c BUILD: Object root set to: ==> objchk BUILD: /i switch ignored BUILD: Compile and Link for i386 BUILD: Loading e:\\NTDDK\\build.dat... BUILD: Computing Include file dependencies: BUILD: Examining p:\\xppass1\\driver directory for files to compile. p:\\xppass1\\driver - 5 source files (3,269 lines) BUILD: Saving e:\\NTDDK\\build.dat... BUILD: Compiling p:\\xppass1\\driver directory Compiling Precompiled Header - precomp.h for i386 passthru.h(59) : error C2146: syntax error : missing \')\' before identifier \'Irp\' passthru.h(59) : error C2081: \'PIRP\' : name in formal parameter list illegal passthru.h(59) : error C2061: syntax error : identifier \'Irp\' passthru.h(59) : error C2059: syntax error : \';\' passthru.h(60) : error C2059: syntax error : \')\' Compiling Precompiled Header - precomp.h for i386 passthru.h(59) : error C2146: syntax error : missing \')\' before identifier \'Irp\' passthru.h(59) : error C2081: \'PIRP\' : name in formal parameter list illegal passthru.h(59) : error C2061: syntax error : identifier \'Irp\' passthru.h(59) : error C2059: syntax error : \';\' passthru.h(60) : error C2059: syntax error : \')\' Compiling - passthru.rc for i386 Compiling - miniport.c for i386 miniport.c(23) : error C1083: Cannot open precompiled header file: \'objchk\\i386\\ precomp.pch\': No such file or directory Compiling - passthru.c for i386 passthru.c(24) : error C1083: Cannot open precompiled header file: \'objchk\\i386\\ precomp.pch\': No such file or directory Compiling - protocol.c for i386 protocol.c(24) : error C1083: Cannot open precompiled header file: \'objchk\\i386\\ precomp.pch\': No such file or directory BUILD: Compile errors: not linking p:\\xppass1\\driver directory BUILD: Done 6 files compiled - 13 Errors - 3273 LPS |
|
沙发#
发布于:2003-01-03 11:23
哪位前辈给点指点,好吗?
关于passthru的帖子我全部浏览叻一遍, 怎么别人可以,而我的不行? 难道非得改2000的Passthru? |
|
板凳#
发布于:2003-01-03 15:31
在source里加入C_DEFINES=$(C_DEFINES) -DBINARY_COMPATIBLE=0
没有 [编辑 - 1/3/03 by mingyulantian] |
|
地板#
发布于:2003-01-03 17:24
肯定没好好看以前胡斑竹留的贴子和头文件的定义,
在precomp.h头文件中定义宏 #define NDIS_WDM 1 ndis.h头文件就会包含wdm.h头文件的 |
|
地下室#
发布于:2003-01-03 23:26
你是用2k的DDK编译的xp的passthru,用xp的ddk编译就没有问题了。
|
|
|
5楼#
发布于:2003-01-04 10:48
我照三楼楼上大侠加上了:
C_DEFINES=$(C_DEFINES) -DBINARY_COMPATIBLE=0 OK!wdm.h也不用包含 PIRP有定义了,但是发现 NdisIMCopySendPerPacketInfo NdisIMCopySendCompletePerPacketInfo 两个函数没有定义, 我在DDK的inc 目录查找了一把,没有哪个头文件包含了这两个函数, 难道非得在xpDDK下编译? XPDDK编译的sys能确保在2000下正常使用吗? 谢谢楼上几位大侠指教! |
|
6楼#
发布于:2003-01-04 15:45
不可能的事
我在nids.h里找到了这两个函数 大虾,还是好看一下头文件,或者在重新敲一遍吧,我有时也遇到过 |
|
7楼#
发布于:2003-01-04 17:19
可能我们的2KDDK版本不一样吧,我确实在2KSSK中没有找到那两个函数定义,后来又重新安装了XPDDK,在XPDDK下编译通过,并且直接在2000下安装可以使用,问题已经不存在了,在2kDDK下编译还是不行的,也不管它了。
可怎么给分呢?哦\\\\瓦 |
|
8楼#
发布于:2003-01-04 21:20
在第一个贴子里面有,点 给分 即可
|
|
|
9楼#
发布于:2003-01-06 09:55
哦?是不是 2000DDK 也分很多版本啊?我用 2000DDK 直接编译 XP 版的 Passthru 就毫无问题。
|
|