编译Qt应用程序时,架构x86_64错误的重复符号

时间:2014-09-18 17:59:59

标签: c++ macos qt

我正在尝试使用Qt creator在osx上编译Qt应用程序。应用程序成功编译为寡妇。但在mac中,它会产生以下链接器错误。

2 duplicate symbols for architecture x86_64
linker command failed with exit code 1 (use -v to see invocation)

有人知道检查链接器抱怨的重复符号的方法吗?我在.pro文件中使用了以下但没有成功。

QMAKE_LFLAGS += -v

2 个答案:

答案 0 :(得分:6)

N1ghtLight发表评论作为答案。

Duplicate symbols found错误是一个链接器错误,它表示链接器找到了多个具有相同名称的符号。以下是一些常见原因。

  • 您已在头文件中编写了一个函数定义(在 class),它包含在两个或多个cpp文件中。
  • 您已经定义了两次静态变量。
  • 您已在cpp文件中编写了两次函数定义。

您可以通过查看Compile Output

中的Qt Creator标签找出重复符号的内容

答案 1 :(得分:1)

就我而言,我在myproject.pro文件中添加了重复的标题。

ex) HEADERS += zzzz.h \ 
... a lot of xxxx.h \
zzzz.h (again) 

我删除了重复的zzzz.h并成功构建。