bgcq
驱动小牛
驱动小牛
  • 注册日期2002-03-24
  • 最后登录2004-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1871回复:6

编译出错

楼主#
更多 发布于:2002-03-25 00:16
我编译98ddk下的ndis\\vxd时出现
BUILD: environment variable PROCESSOR_ARCHITECTURE must be defined
错误,什么原因
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-03-25 09:37
    这是DDK编译环境没有初始化成功的原因。PROCESSOR_ARCHITECTURE 是一个关于处理机的环境变量,它指出了处理机的位数和系列。如32、64位,x86系列,ALPHA,MACTONISH等。
    如果你按正常的方式启动DDK和初始相关环境变量还不成功的话,可以在命令行下作如下设定:set PROCESSOR_ARCHITECTURE =i386即可。
Tom_lyd
bgcq
驱动小牛
驱动小牛
  • 注册日期2002-03-24
  • 最后登录2004-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-03-25 11:58
我用build -all 编译鼠标的源码mousedrv目录下可以,不过显示不能存nt目录,并产生了obj/i386等目录,建了一个nt目录也是一样
但什么也没有生成,连一个驱动都没有
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-03-25 13:21
由于build程序的bug,你需要自己创建checked和free子目录,在2000下依次是objchk和objfre。否则,驱动程序不会生成。
Tom_lyd
bgcq
驱动小牛
驱动小牛
  • 注册日期2002-03-24
  • 最后登录2004-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-03-25 23:00
老大,
  不行呀,我在d盘、98ddk 、bin、 mousedrv 、obj、 i386、都分别建了两个free和checked目录但都没有生成驱动程序,出错信息如下:D:\\98DDK\\mousedrv>build -386
BUILD: Compile and Link for i386
BUILD: Loading \\nt\\build.dat...
BUILD: Computing Include file dependencies:
BUILD: Examining d:\\98ddk\\mousedrv directory for files to compile.
BUILD: Building generated files in d:\\98ddk\\mousedrv
BUILD: Examining d:\\98ddk\\mousedrv directory for files to compile. (2nd Pass)
BUILD: Linking d:\\98ddk\\mousedrv directory
BUILD: Done

我想是(2nd Pass)表示不行,还有
我用vc6.0编vpacket下的vxd目录出现如下错误
Write.obj : error LNK2001: unresolved external symbol _NdisSend@12
Write.obj : error LNK2001: unresolved external symbol _PacketAllocatePacketBuffer
Write.obj : error LNK2001: unresolved external symbol _NdisFreePacket@4
Write.obj : error LNK2001: unresolved external symbol _NdisReinitializePacket@4
Write.obj : error LNK2001: unresolved external symbol _PacketPageUnlock
Write.obj : error LNK2001: unresolved external symbol _NdisFreeBuffer@4
Write.obj : error LNK2001: unresolved external symbol _NdisUnchainBufferAtFront@8
我找了这个目录下的所有文件都没有ndissend的定义呀?

帮忙帮到底吧,
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-03-26 09:04
    运行BUILD编译驱动程序的条件是必须存在至少两个文件(除了源文件以外),它们是SOURCES和MAKEFILE,否则BUILD将无法知道如何编译。你检查一下你的目录下是否有这两个文件。另一种可能是BUILD会根据一个DIRS文件获得包含SOURCES和MAKEFILE文件的路径,然后回溯编译。

[quoto/]
我用vc6.0编vpacket下的vxd目录出现如下错误
Write.obj : error LNK2001: unresolved external symbol _NdisSend@12
Write.obj : error LNK2001: unresolved external symbol _PacketAllocatePacketBuffer
Write.obj : error LNK2001: unresolved external symbol _NdisFreePacket@4
Write.obj : error LNK2001: unresolved external symbol _NdisReinitializePacket@4
Write.obj : error LNK2001: unresolved external symbol _PacketPageUnlock
Write.obj : error LNK2001: unresolved external symbol _NdisFreeBuffer@4
Write.obj : error LNK2001: unresolved external symbol _NdisUnchainBufferAtFront@8
我找了这个目录下的所有文件都没有ndissend的定义呀?

帮忙帮到底吧,
[/quoto]
这应该是调用方式的错误。在VXD在调用这些服务好象是需要显式声明为__stdcall,否则连接器无法正确连接。
  
Tom_lyd
bgcq
驱动小牛
驱动小牛
  • 注册日期2002-03-24
  • 最后登录2004-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-03-26 18:57
新的问题

D:\\98DDK\\mousedrv>build -all
BUILD: Compile and Link for Alpha, Axp64, i386, IA64
BUILD: Computing Include file dependencies:
BUILD: f:\\progra~1\\micros~1\\vc98\\include\\exdisp.odl(31): f:\\progra~1\\micros~1\\vc
98\\include\\exdisp.odl - invalid include statement: importlib(STDOLE_TLB);
BUILD: f:\\progra~1\\micros~1\\vc98\\include\\vidsvr.odl(16): f:\\progra~1\\micros~1\\vc
98\\include\\vidsvr.odl - invalid include statement: importlib(STDOLE_TLB);
BUILD: Examining d:\\98ddk\\mousedrv directory for files to compile.
BUILD: Saving \\nt\\build.dat...
BUILD: Building generated files in d:\\98ddk\\mousedrv
BUILD: Examining d:\\98ddk\\mousedrv directory for files to compile. (2nd Pass)
BUILD: Linking d:\\98ddk\\mousedrv directory
Linking Executable - obj\\i386\\mouse.drv for i386
link() : error : Segment reference in fixup record
obj\\i386\\mouse.obj() : error LNK1123: failure during conversion to COFF: file in
valid or corrupt
rc() : error RW1030: obj\\i386\\mouse.drv: Unable to open
BUILD: Done

    1 executables built - 4 Warnings - 3 Errors
游客

返回顶部