阅读:2752回复:10
编译filedisk的问题,请帮忙
在xp中用vc6和windows2000的ddk编filedisk的sys部分代码,在sys/src目录下执行build命令,生成以下log文件:
编过的大侠请指点一下。 BUILD: Computing Include file dependencies: BUILD: d:\\program files\\microsoft visual studio\\vc98\\include\\exdisp.odl(31): d:\\program files\\microsoft visual studio\\vc98\\include\\exdisp.odl - invalid include statement: importlib(STDOLE_TLB); BUILD: d:\\program files\\microsoft visual studio\\vc98\\include\\vidsvr.odl(16): d:\\program files\\microsoft visual studio\\vc98\\include\\vidsvr.odl - invalid include statement: importlib(STDOLE_TLB); BUILD: d:\\progra~1\\micros~2\\vc98\\include\\exdisp.odl(31): d:\\progra~1\\micros~2\\vc98\\include\\exdisp.odl - invalid include statement: importlib(STDOLE_TLB); BUILD: d:\\progra~1\\micros~2\\vc98\\include\\vidsvr.odl(16): d:\\progra~1\\micros~2\\vc98\\include\\vidsvr.odl - invalid include statement: importlib(STDOLE_TLB); BUILD: Examining c:\\存档技术资料\\windows\\drive develop\\filedisk\\sys\\src directory for files to compile. Compiling c:\\存档技术资料\\windows\\drive develop\\filedisk\\sys\\src directory ******************** \'nmake.exe /c BUILDMSG=Stop. -i NTTEST= UMTEST= NOLINK=1 NOPASS0=1 386=1\' jvc /nologo /cp D:\\PROGRA~1\\NTDDK\\public\\sdk\\classes\\afc.zip;D:\\PROGRA~1\\NTDDK\\public\\sdk\\classes\\classes.zip;C:\\存档技术资料\\Windows\\drivedevelop\\filedisk\\sys\\src; /g /w4 /d objchk\\i386 \'jvc\' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 jvc /nologo /cp D:\\PROGRA~1\\NTDDK\\public\\sdk\\classes\\afc.zip;D:\\PROGRA~1\\NTDDK\\public\\sdk\\classes\\classes.zip;C:\\存档技术资料\\Windows\\drivedevelop\\filedisk\\sys\\src; /g /w4 /d objchk\\i386 \'jvc\' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 Linking c:\\存档技术资料\\windows\\drive develop\\filedisk\\sys\\src directory ******************** \'nmake.exe /c BUILDMSG=Stop. -i LINKONLY=1 NOPASS0=1 NTTEST= UMTEST= 386=1\' jvc /nologo /cp D:\\PROGRA~1\\NTDDK\\public\\sdk\\classes\\afc.zip;D:\\PROGRA~1\\NTDDK\\public\\sdk\\classes\\classes.zip;C:\\存档技术资料\\Windows\\drivedevelop\\filedisk\\sys\\src; /g /w4 /d objchk\\i386 \'jvc\' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 jvc /nologo /cp D:\\PROGRA~1\\NTDDK\\public\\sdk\\classes\\afc.zip;D:\\PROGRA~1\\NTDDK\\public\\sdk\\classes\\classes.zip;C:\\存档技术资料\\Windows\\drivedevelop\\filedisk\\sys\\src; /g /w4 /d objchk\\i386 \'jvc\' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 |
|
|
沙发#
发布于:2002-12-03 15:28
你是通过DDK的checked/free build enviroment进入到DOS下的吗?
|
|
|
板凳#
发布于:2002-12-03 15:34
是的。应该是这样吧,没有其它的要求吧?
|
|
地板#
发布于:2002-12-03 15:44
c:\\存档技术资料\\windows\\drive develop\\
好像DDK不支持文件名当中有空格,你换个目录试试 |
|
地下室#
发布于:2002-12-03 18:54
真的是目录名有空格的问题,但是还没有编出filedisk.sys文件,
只有这两个文件: filedisk.res filedisk.obj 这又是什么问题啊? :( Compiling c:\\filedisk\\sys\\src directory ******************** \'nmake.exe /c BUILDMSG=Stop. -i NTTEST= UMTEST= NOLINK=1 386=1\' rc -l 409 -z \"MS Sans Serif,Helv/MS Shell Dlg\" -r -fo objchk\\i386\\filedisk.tmp -D_X86_=1 -Di386=1 -DSTD_CALL -DCONDITION_HANDLING=1 -DNT_UP=1 -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 -DWINNT=1 -D_WIN32_WINNT=0x0500 -DWINVER=0x0500 -D_WIN32_IE=0x0501 -DWIN32_LEAN_AND_MEAN=1 -DDBG=1 -DDEVL=1 -DFPO=0 -DNDEBUG -D_DLL=1 -I..\\inc -ID:\\PROGRA~1\\NTDDK\\inc -ID:\\PROGRA~1\\NTDDK\\inc -ID:\\PROGRA~1\\NTDDK\\inc\\ddk -ID:\\PROGRA~1\\NTDDK\\inc\\ddk\\wdm -ID:\\PROGRA~1\\NTDDK\\private\\inc -ID:\\PROGRA~1\\NTDDK\\inc .\\filedisk.rc cl -nologo -Ii386\\ -I. -I..\\inc -ID:\\PROGRA~1\\NTDDK\\inc -ID:\\PROGRA~1\\NTDDK\\inc -ID:\\PROGRA~1\\NTDDK\\inc\\ddk -ID:\\PROGRA~1\\NTDDK\\inc\\ddk\\wdm -ID:\\PROGRA~1\\NTDDK\\private\\inc -ID:\\PROGRA~1\\NTDDK\\inc -D_X86_=1 -Di386=1 -DSTD_CALL -DCONDITION_HANDLING=1 -DNT_UP=1 -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 -DWINNT=1 -D_WIN32_WINNT=0x0500 -DWINVER=0x0500 -D_WIN32_IE=0x0501 -DWIN32_LEAN_AND_MEAN=1 -DDBG=1 -DDEVL=1 -DFPO=0 -DNDEBUG -D_DLL=1 /c /Zel /Zp8 /Gy -cbstring /W3 /Gz /QIfdiv- /QIf /QI0f /GB /Gi- /Gm- /GX- /GR- /GF -Z7 /Od /Oi /Oy- -FID:\\PROGRA~1\\NTDDK\\inc\\warning.h .\\filedisk.c filedisk.c .\\filedisk.c(1053) : warning C4133: \'=\' : incompatible types - from \'struct _IRP *\' to \'struct _IO_STACK_LOCATION *\' Stop. Linking c:\\filedisk\\sys\\src directory ******************** \'nmake.exe /c BUILDMSG=Stop. -i LINKONLY=1 NOPASS0=1 NTTEST= UMTEST= 386=1\' link -out:..\\obj\\i386\\filedisk.sys -machine:ix86 @D:\\DOCUME~1\\SUPER-~1\\LOCALS~1\\Temp\\nma01548. Microsoft (R) Incremental Linker Version 5.12.8181 Copyright (C) Microsoft Corp 1992-1998. All rights reserved. -STACK:262144,4096 -MERGE:_PAGE=PAGE -MERGE:_TEXT=.text -SECTION:INIT,d -OPT:REF -OPT:ICF -IGNORE:4001,4037,4039,4044,4065,4070,4078,4087,4089,4198 -INCREMENTAL:NO -FULLBUILD -FORCE:MULTIPLE -NOCOMMENT /release -NODEFAULTLIB -debug:FULL -debugtype:both -version:5.00 -osversion:5.00 -optidata -driver -align:0x20 -subsystem:native,5.00 -base:0x10000 -entry:DriverEntry@8 -out:..\\obj\\i386\\filedisk.sys objchk\\i386\\filedisk.res objchk\\i386\\filedisk.obj D:\\PROGRA~1\\NTDDK\\libchk\\i386\\ntoskrnl.lib D:\\PROGRA~1\\NTDDK\\libchk\\i386\\hal.lib D:\\PROGRA~1\\NTDDK\\libchk\\i386\\wmilib.lib Stop. |
|
|
5楼#
发布于:2002-12-03 19:06
编译的时候,最好按照dos 下的8.3命名法,目录中不要有空格,也不要用中文。文件扩展名最好用.c
|
|
|
6楼#
发布于:2002-12-03 19:18
这些我都做了,你看我都把它方到根目录了。
是不是还要手动link一下? |
|
7楼#
发布于:2002-12-03 19:24
O,原来已经出来了,不在src目录下的obj目录,在与src同级的obj目录下,用checked方式编出来的filedisk.sys 16k。好像跟原来的不一样!
原来的是checked 67k,free 10k,这是什么原因,编过的大侠就没注意到这一点吗? :) 对了,还没有测试一下能不能用,先试一下再说。 [编辑 - 12/3/02 by dengyl] |
|
8楼#
发布于:2002-12-03 19:44
我考,这是你自己的source文件里面的设置,我们怎么看的见啊?
|
|
|
9楼#
发布于:2002-12-04 08:40
:P 这我也不知道啊!
|
|
10楼#
发布于:2002-12-04 17:10
请问dengyl:你这样编译的filedisk.sys能用softice跟踪到DeviceControl中的c源码吗
|
|