我想在两个对话框中使用同一个类,结果include了两次这个类的头文件,结果编译通过了,连接时报错
fatal error LNK1169: one or more multiply defined symbols found
"public: __thiscall CSpreadSheet::CSpreadSheet(class CString,class CString,bool)" (??0CSpreadSheet@@QAE@VCString@@0_N@Z) already defined in EditExecl.obj
应该是说在两个obj文件中重复定义了类?如果不加,又说没有定义这个类,不能通过编译,请问如何解决,谢谢。
fatal error LNK1169: one or more multiply defined symbols found
"public: __thiscall CSpreadSheet::CSpreadSheet(class CString,class CString,bool)" (??0CSpreadSheet@@QAE@VCString@@0_N@Z) already defined in EditExecl.obj
应该是说在两个obj文件中重复定义了类?如果不加,又说没有定义这个类,不能通过编译,请问如何解决,谢谢。
解决方案 »
- 哈哈 大家一起来帮我编译一下这段代码 把运行结果贴上来
- VS2005导致的 “由于应用程序的配置不正确,应用程序未能启动” 怎么解决啊
- 怎样做类似vss那样,能在VC工程的树结构的图标前面加一个小锁头的图标呢?
- 关于MFC new calss的问题,真怪,请高手帮帮忙
- 100分急求TCP connect()扫描方式扫描开放端口
- 大家帮我一下啊!!!
- 为什么不能重新启动?(COMS问题)
- 《菜鸟问题---如何把CComBSTR改变为Char型?》
- 函数GetDlgItem有什么作用
- PostThreadMessage只能成功发送一次
- VC中有没有像VB中DoEvents()的函数。如果没有,怎样在VC中实现此函数功能!
- 急死小师妹了,怎么得到Oracle数据库中一个数据位为20的数据!
#ifndef _YOUR_INCLUDE_
#define _YOUR_INCLUDE_(头文件主体)#endif
其中_YOUR_INCLUDE_可以是你喜欢的其他符号
不可以阿。各位能解释清楚#ifndef 的写法吗?
#define AFX_BACKUPDATA_H__12CB1686_D72C_45A0_8419_1D4B2D408E23__INCLUDED_(头文件)#endif简单的条件编译:第一次编译该头文件时没有define(AFX_BACKUPDATA_H__12CB1686_D72C_45A0_8419_1D4B2D408E23__INCLUDED_),此时!defined(AFX_BACKUPDATA_H__12CB1686_D72C_45A0_8419_1D4B2D408E23__INCLUDED_)为真, 则编译头文件代码。
再一次包含该头问件时,给文件已经编译,!defined(AFX_BACKUPDATA_H__12CB1686_D72C_45A0_8419_1D4B2D408E23__INCLUDED_)为False ,就不在编译头文件代码。
CSpreadSheet是个控件吧(不会是楼主自己写的吧)在生成EditExecl.obj
的相关文件里 重复定义了CSpreadSheet::CSpreadSheet(class CString,class CString,bool)。
并不是.h重复定义的问题。
是生成了两个相同函数的实体,在连接的时候Link程序无法选择的问题。