无处不在,出现了这个错误。 链接器命令失败,退出代码为1(使用-v查看调用)
duplicate symbol _HighScoreNumber in:
/Users/Drizzle/Library/Developer/Xcode/DerivedData/Munch-gfdyumgsjgsmdweirrclsqfltxpt/Build/Intermediates/Munch.build/Debug-iphonesimulator/Munch.build/Objects-normal/x86_64/Menu5.o
/Users/Drizzle/Library/Developer/Xcode/DerivedData/Munch-gfdyumgsjgsmdweirrclsqfltxpt/Build/Intermediates/Munch.build/Debug-iphonesimulator/Munch.build/Objects-normal/x86_64/Gam4.o
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我该如何解决这个问题?
我在构建阶段查看了副本,我尝试清理构建并重新运行它,我重新启动了IOS模拟器数据。
答案 0 :(得分:1)
编译器的错误很明显。导入的文件中有重复的符号。您同时导入了Menu5.h
和Gam4.h
,这两个文件都包含HighScoreNumber
的定义,因此编译器很困惑。
如果重复定义,请删除一个。或者您可以将HighScoreNumber
定义移动到单个头文件中。
答案 1 :(得分:0)
我非常确定您的解决方案是将该变量移动到.m文件中,并将其从两个标头中删除。如果您想引用(很快)在源文件中定义的高分,从第二个源文件,您可以在该第二个源文件中声明“extern int HighScoreNumber;
”。