gpt4 book ai didi

c++ - 链接器无法链接我的应用程序(XXXX 已在 XXXX.obj 中定义)

转载 作者:搜寻专家 更新时间:2023-10-31 00:05:29 24 4
gpt4 key购买 nike

当我尝试构建我的应用程序时,链接器给出大量错误,如下所示:

modlauch.obj : error LNK2005: "public: virtual __thiscall lolbutton::~lolbutton(void)" (??1lolbutton@@UAE@XZ) already defined in lolbutton.obj

我怀疑它与错误配置的编译器有关,但我不知道如何修复它。我的类(class)只包含一次,所以我认为它与代码没有任何关系。我已尝试重建和清理该项目,但它没有帮助

有人可以建议这个问题的解决方案吗?我的平台是 Win32(C++),我使用的是 MFC

最佳答案

当你这样写类时,你会得到链接器错误:

大笑按钮.h:

class lolbutton {
public:
virtual ~lolbutton();
};

lolbutton::~lolbutton() {
// something...
}

这样写你是不会得到的:

class lolbutton {
public:
virtual ~lolbutton()
{
// inlined something...
}
};

通过将析构函数定义从 .h 文件移动到 .cpp 文件来修复链接器错误。这确保了析构函数只有一个定义。

关于c++ - 链接器无法链接我的应用程序(XXXX 已在 XXXX.obj 中定义),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2280462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com