xiaoli7714
驱动牛犊
驱动牛犊
  • 注册日期2005-01-07
  • 最后登录2005-01-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1258回复:4

有关KTrace引用,编译错误问题。求解...

楼主#
更多 发布于:2005-01-24 15:00
DriverWork

我在RegSample.cpp中声明了变量
  KTrace t("RegSample");
用来跟踪调试。

在RegSampleDevice.cpp我引用了这个变量
  extern KTrace t("RegSample");
结果编译报错:
regsampledevice.obj : error LNK2005: "class KTrace t" (?t@@3VKTrace@@A) already defined in regsample.obj
objchk_wxp_x86\i386\regsample.sys : error LNK1169: one or more multiply defined symbols found
但还是生成了RegSample.sys文件。

现注释掉RegSampleDevice.cpp中的“extern KTrace t("RegSample");”,问题解决了。

但我发现在RegSample.cpp声明的
  UNICODE_STRING SampleRegistryPath;
在RegSampleDevice.cpp中却必须引用进来
  extern UNICODE_STRING SampleRegistryPath;
不然编译不过。

请问这是为什么?
谢谢!
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-24 15:39
extern KTrace t("RegSample");
改为
extern KTrace t;
因为你已经定义了,现在只需要声明
如果你对UNICODE_STRING SampleRegistryPath;
进行付值,同样会有这样的错误
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-24 17:04
全局变量当然要了

最好在*.h中对全局变量声明,
这样就不用没用到一个做一次引用了

例如
形如extern UNICODE_STRING SampleRegistryPath
最好都放到*.h中


学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
xiaoli7714
驱动牛犊
驱动牛犊
  • 注册日期2005-01-07
  • 最后登录2005-01-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-25 15:05
菜鸟谢谢各位啦

另外问一下,分数怎么给?
还是自动分配?

谢谢!
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-26 08:44
你的主贴右下角有给分按钮
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
游客

返回顶部