Xcode错误:由于重复的符号,Command / Developer / usr / bin / clang ++因退出代码1而失败

时间:2012-04-04 07:31:24

标签: xcode arrays duplicate-symbol

我正在尝试用C ++编写一个运行Conway生命游戏的程序。我想我拥有所需的一切,但我在编译方面遇到了一些麻烦。

该程序由四个文件组成:gameoflife.h,一个包含我的全局常量和函数声明的头文件gameoflife.cpp,它定义了函数main.cpp,它使用了这些函数和seeds.cpp,其中包含要使用的预定义种子列表。

当我去编译应用程序时,我似乎在main.cppgameoflife.cpp之间发生了一个名为currGen的数组的重复符号冲突,该数组在gameoflife.h中声明

main.cppgameoflife.cpp都包含gameoflife.h,这当然是必要的,以便他们可以访问全局常量和函数声明。

我收到的确切错误如下:

duplicate symbol _currGen in /(same_path)/ConwaysGameOfLife.build/Objects-normal/
x86_64/gameoflife.o and
/(same_path)/ConwaysGameOfLife.build/Objects-normal/x86_64/main.o
for architecture x86_64
Command /Developer/usr/bin/clang++ failed with exit code 1

我查看了Stack Overflow,但没有发现任何符合我问题的内容。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您可能在头文件中定义变量currGen,而不只是声明它。

在一个.cpp文件中只需要一个定义。 .h文件应该使用extern声明它。

This answer goes into much more detail.