【发布时间】:2012-01-19 20:41:32
【问题描述】:
不知道我在这里做错了什么,但说我有:
foo.h
class foo
{
public:
int Get10(std::wstring);
};
foo.cpp
int foo::Get10(std::wstring dir)
{
return 10;
};
如果我将该库连同相关头文件 (foo.h) 一起包含在另一个项目中并尝试调用 foo 的实例,我会将其编译为一个库:
foo f;
f.Get10(L"ABC");
我收到一个链接器错误提示:
错误 1 错误 LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QAE@XZ) 已经定义在 foo.lib(foo.obj) C:\foo\msvcprtd.lib(MSVCP100D.dll) footest
任何想法为什么会发生这种情况?
【问题讨论】:
-
您是否尝试在类定义后添加分号
;? -
是的,在源文件中哈哈,我把它放在我放在这里的东西之外是不好的。