posts - 27,  comments - 68,  trackbacks - 0

一个朋友来信说,他在工程中添加了一个数据导出到Excel表的类CSpreadSheet,结果出现了LNK2005的错误。在网上查了一下,发现还不只我这个朋友遇到这个问题,CSDN上也有类似问题:http://topic.csdn.net/t/20050311/09/3842070.html
这个CSpreadSheet.h文件在CodeProjectCodeGuru上都有,其实是这个文件有问题。这个头文件既包括了CSpreadSheet类的定义,还包括这个类的实现,这样所有包含这个头文件的类都有一份这个类的实现,链接的时候自然就出错了。只要工程中有两个以上的地方包含这个头文件就会出现这个错误。解决的办法很简单,建立一个CSpreadSheet.cpp文件,然后在这个文件的开头加上:

#include “stdafx.h”
#include “CSpreadSheet.h”

然后把CSpreadSheet.h中的从“// Open spreadsheet for reading and writing”(含)到“#endif”(不含)之前的语句都剪切到CSpreadSheet.cpp中,也就是将类的声明和实现分离,再将CSpreadSheet.cpp文件加到工程中,这样就可以了。

posted on 2006-04-24 15:24 zealsoft 阅读(1503) 评论(0)  编辑 收藏 引用 所属分类: 错误处理

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


欢迎访问我的学术博客

<2006年7月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿(13)

随笔分类(28)

随笔档案(27)

搜索

  •  

积分与排名

  • 积分 - 56670
  • 排名 - 391

最新评论

阅读排行榜

评论排行榜