gpt4 book ai didi

c++ - 外部类 : undefined reference when porting from gcc 3. x 到 4.x

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:50 24 4
gpt4 key购买 nike

我正在将一些可怕的遗留 C++ 代码从 gcc 3.x 移植到 4.x在头文件中有一个看起来像这样的结构:

extern class ErrorLog
{
. . .
} error_log, debug_log;

在 3.x 下它编译并工作正常,但在 4.x 下我得到很多形式的错误

undefined reference to `error_log'

undefined reference to `ErrorLog::log(ErrorLog::LogAttr const&, char const*, ...)'

最佳答案

我认为这与 bug report 有关我不久前提交给 GCC。问题是,这是否定义了 class ErrorLog 类型?我建议您将定义和声明分开,如下所示:

class ErrorLog{...};
extern ErrorLog error_log, debug_log;

大概 class ErrorLog 也在其他地方定义——理想情况下,您应该更改它,以便它只定义一次。

关于c++ - 外部类 : undefined reference when porting from gcc 3. x 到 4.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5188075/

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