【问题标题】:Multiple definition error ld多重定义错误 ld
【发布时间】:2013-11-19 02:39:07
【问题描述】:

我有课。这个类我用 wxWidgets 宏来列出。它正在工作。 例如:

class A 
{
public:
    A();
//any function
public:
//any variables 
};

WX_DECLARE_USER_EXPORTED_LIST(A, AList, A_API);

但我在不同的 .cpp 文件中使用这个类。 我有错误“...的多重定义”和“collect2:错误:ld 返回 1 个退出状态” 我不能使用“内联”功能。 有什么想法...

【问题讨论】:

  • 这个类是否定义在头文件中?它有包含警卫吗?
  • 多重定义什么的?
  • 好问题。对不起!我使用 set_precompiled_header,并且所有“.h”文件都存在。我在 ld 的问题。创建了所有“*.o”文件,但链接器无效

标签: c++ makefile wxwidgets


【解决方案1】:

您的问题非常不清楚,因为它本身并没有给出错误,但实际上并不重要,因为答案是不再使用旧的基于宏的容器列表类。只需使用std::list<> 或者更好的是std::vector<>。现在真的没有理由使用 1990 年代的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 2023-02-01
    • 2014-03-25
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多