【问题标题】:error when compiling c++ code with g++使用 g++ 编译 c++ 代码时出错
【发布时间】:2010-06-19 23:30:05
【问题描述】:

我得到了这种类型的错误:
“在函数中……多重定义……”
“...首先在这里定义”
“警告:符号的大小...从 更改为 in”

*代码使用以下标志编译:-ansi -Wall -pedantic-errors -Werror
*使用STL

对此有什么解释吗?
提前谢谢你

【问题讨论】:

  • 请发布您的代码。此外,当您编辑问题以将其添加时,请确保将其格式化为代码,以便正确显示。
  • 如果您需要有关无法编译的代码的帮助,请发布无法编译的代码。如果您担心保密,只需更改变量名称并将其剥离到导致问题的裸露组件。
  • “警告:符号的大小 ... 已从更改为 in” - 这是来自链接器的错误,指出一个全局符号被多次定义并且定义不同(具有不同的大小)。
  • 为避免错误,只定义一次符号。 (为了让我们能够更具体地帮助您,请发布导致错误的代码。)

标签: c++ stl linker g++


【解决方案1】:

解释?您引用的错误消息已经是尽可能详尽的解释。在同一范围内多次定义某些东西(变量)。编译器为您提供了有问题的变量的名称。编译器在第二个定义处报告了错误,并提供了一条指出第一个定义的附加消息。这就是你需要知道的一切,才能找到问题,然后是一些。这里还有什么要解释的?

【讨论】:

    猜你喜欢
    • 2022-10-02
    • 2014-01-06
    • 2015-11-05
    • 2011-01-22
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2016-12-15
    相关资源
    最近更新 更多