wsqss2004
驱动小牛
驱动小牛
  • 注册日期2004-06-11
  • 最后登录2012-02-17
  • 粉丝0
  • 关注0
  • 积分994分
  • 威望202点
  • 贡献值2点
  • 好评度91点
  • 原创分0分
  • 专家分0分
阅读:861回复:2

下面这个怎么回事啊?

楼主#
更多 发布于:2004-08-30 19:25
 就是多个c文件包含了同一个头文件并有一些调用了里面的同一个函数,结果就出现了:

IDE.C文件
void SCSIRequestSense(void)
{
。。。。。。
}

SCSICSWProcess.C文件(没有调用SCSIRequestSense,只是包含了IDE.C)
void SCSICSWProcess(BYTE Status,BYTE DataResidue)
{.........}
其他文件也有包含了IDE.C
...............
....................
结果就出现了:
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  SCSIREQUESTSENSE
    MODULE:  SCSICSWPROCESS.obj (SCSICSWPROCESS)

snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-30 20:08
重复包含或定义错误,
为什么要包含*.c呢,最好把定义或声明放到*.h中,

并在*.h中开头加入

//my.h
#ifndef _MY_H
#define _MY_H

void SCSIRequestSense(void);

#endif
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
wsqss2004
驱动小牛
驱动小牛
  • 注册日期2004-06-11
  • 最后登录2012-02-17
  • 粉丝0
  • 关注0
  • 积分994分
  • 威望202点
  • 贡献值2点
  • 好评度91点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-30 20:39
那怎么在没有调用SCSIRequestSense,只是包含了IDE.C
就出现了这种错误!
游客

返回顶部