错误:链接器命令失败:体系结构x86_64的重复符号



莫名其妙地出现了这个错误。链接器命令失败,退出代码为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模拟器数据。

编译器的错误很明显。导入的文件中有重复的符号。您同时导入了Menu5.hGam4.h,这两个文件都包含了HighScoreNumber的定义,导致编译器混淆了

如果重复定义,则删除一个。或者您可以将HighScoreNumber定义移动到单个头文件中。

我很确定您的解决方案是将该变量移动到您的.m文件中,并将其从两个头文件中删除。如果您想从第二个源文件引用在源文件中定义的高分,您可以在第二个源文件中声明" extern int HighScoreNumber; "。

相关内容

最新更新