我在编译时出现这样的link error问题,为什么?
Linking...
IsoCard1.obj : error LNK2005: "public: __thiscall CIsoCard::CIsoCard(void)" (??0CIsoCard@@QAE@XZ) already defined in IsoCard.obj
IsoCard1.obj : error LNK2005: "public: virtual __thiscall CIsoCard::~CIsoCard(void)" (??1CIsoCard@@UAE@XZ) already defined in IsoCard.obj
Debug/isoamr.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.isoamr.exe - 3 error(s), 0 warning(s)
Linking...
IsoCard1.obj : error LNK2005: "public: __thiscall CIsoCard::CIsoCard(void)" (??0CIsoCard@@QAE@XZ) already defined in IsoCard.obj
IsoCard1.obj : error LNK2005: "public: virtual __thiscall CIsoCard::~CIsoCard(void)" (??1CIsoCard@@UAE@XZ) already defined in IsoCard.obj
Debug/isoamr.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.isoamr.exe - 3 error(s), 0 warning(s)
的確是定義了兩次,我將CIsoCard類改了一個名字后,編譯就正常了,再次感謝大家的熱心幫助!
带有#define xxx宏,可以保证该文件任何时候只被包含一次。