【发布时间】:2012-10-01 07:31:47
【问题描述】:
ProjectAAA.obj : error LNK2001: unresolved external symbol "public: __thiscall X::ClassEvent::ClassEvent(unsigned int)" (??0ClassEvent@X@@QAE@I@Z)
boost::shared_ptr<ClassEvent> bcfEvent(new ClassEvent((unsigned int) 10));
我已定义 ClassEvent::ClassEvent(unsigned int),但不知道如何修复此 LINK 错误。
欢迎提出任何建议。
谢谢
更多信息:
1>ProjectAAA.obj : 错误 LNK2019: 无法解析的外部符号“public: __thiscall APP::X::ClassEvent::ClassEvent(unsigned int)” (??0ClassEvent@X@APP@@QAE@I@Z)在函数“private: class std::vector,class std::allocator > > __thiscall APP::X::ProjectAAA::GenerateEvents(class std::map > > const &)”中引用 (?GenerateEvents@ProjectAAA@X@ APP@@AAE?AV?$vector@V?$shared_ptr@VClassEvent@X@APP@@@boost@@V?$allocator@V?$shared_ptr@VClassEvent@X@APP@@@boost@@@std@ @@std@@ABV?$map@VDate@APP@@IUEventAttributesMapCompare@ProjectAAA@X@2@V?$allocator@U?$pair@$$CBVDate@APP@@I@std@@@std@@@ 5@@Z)
现在我已经完全隔离了错误:
1>ProjectAAA.obj : 错误 LNK2019: 无法解析的外部符号“public: __thiscall APP::X::ClassEvent::ClassEvent(unsigned int)” (??0ClassEvent@X@APP@@QAE@I@Z)在函数“private: void __thiscall APP::X::ProjectAAA::TestGenerateEvents(void)”中引用 (?TestGenerateEvents@ProjectAAA@X@APP@@AAEXXZ)
【问题讨论】:
-
需要更多信息。显示一个产生此错误消息的最小但完整的示例。
-
简单代码可以正常工作。我有一个庞大的项目,我无法使用 ClassEvent 类中定义的任何函数。编译没问题,但链接总是报错。
-
确保整个项目中只有一个名为 ClassEvent.cpp 的文件。如果不是这种情况,生成的 obj 文件将发生冲突,因此符号将丢失。
-
您是否在命名空间
X中实现了您的ClassEvent::ClassEvent(unsigned int)?根据错误消息,它似乎没有嵌套在APP::X中。