Xcode错误:Command/Developer/usr/bin/clang++;由于符号重复,退出代码为1,失败 我试图写一个C++程序,运行康威的生命游戏。我想我有我需要的一切,但我在编译方面遇到了一些麻烦

Xcode错误:Command/Developer/usr/bin/clang++;由于符号重复,退出代码为1,失败 我试图写一个C++程序,运行康威的生命游戏。我想我有我需要的一切,但我在编译方面遇到了一些麻烦,xcode,arrays,duplicate-symbol,Xcode,Arrays,Duplicate Symbol,该程序由四个文件组成:gameoflife.h,一个包含全局常量和函数声明的头文件,gameoflife.cpp,它定义函数,main.cpp,它使用函数,以及seeds.cpp,它包含要使用的预定义种子列表 当我去编译应用程序时,我似乎在main.cpp和gameoflife.cpp之间有一个重复的符号冲突,在gameoflife.h中声明了一个名为currGen的数组 main.cpp和gameoflife.cpp都包括gameoflife.h,这当然是必要的,以便它们能够访问全局常量和函数

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

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

main.cpp
gameoflife.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

我已经查看了堆栈溢出,但没有找到任何与我的问题相匹配的内容。任何帮助都将不胜感激

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

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