错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)xcode 错误?

Posted

技术标签:

【中文标题】错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)xcode 错误?【英文标题】:error: linker command failed with exit code 1 (use -v to see invocation) xcode error? 【发布时间】:2015-07-21 14:49:50 【问题描述】:

我刚刚关注了一个关于创建 Flappy Bird 游戏的 Youtube 视频,一切都很顺利,直到我在 ViewController.m 中编写了代码,我意识到我遇到了一个非常烦人的错误,我的代码看起来与视频的代码一模一样我猜。

duplicate symbol _HighScoreNumber in:
    /Users/SRaheem/Library/Developer/Xcode/DerivedData/Flappy_Kurd-ajkqjbpuoredvudzovmfygqfuasr/Build/Intermediates/Flappy Kurd.build/Debug-iphonesimulator/Flappy Kurd.build/Objects-normal/x86_64/Game.o
    /Users/SRaheem/Library/Developer/Xcode/DerivedData/Flappy_Kurd-ajkqjbpuoredvudzovmfygqfuasr/Build/Intermediates/Flappy Kurd.build/Debug-iphonesimulator/Flappy Kurd.build/Objects-normal/x86_64/ViewController.o
ld: 1 duplicate symbol for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

【问题讨论】:

从 Game.m 和 ViewController.m 发布您的代码。或者在这些文件中搜索“HighScoreNumber”,错误说它是在同一范围内的两个地方定义的。 这里是 Game.m pastie.org/private/aclehtrzjw3bbaklqldbog,这里是 ViewController.m pastie.org/private/zotfnbievnls9jjpnpi8ta 正如木马所说,HighScoreNumber 可能在 game.h 和 ViewController.h 中都声明了。您需要删除其中一个声明或将其标记为“extern”。如果您没有完全删除,则需要在 Game.m 和 ViewController.m 文件中导入带有剩余声明的头文件。 ***foe 的回答是正确的。 【参考方案1】:

您可能已经在 Game.mViewController.m 包含的头文件中添加了变量 HighScoreNumber

此声明需要更改为extern int HighScoreNumber;(或任何类型),并且需要在.m 文件中定义(例如在Game.m 中)。

【讨论】:

以上是关于错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)xcode 错误?的主要内容,如果未能解决你的问题,请参考以下文章

clang:错误:链接器命令失败,退出代码为 1,react-native

cocoapods - 链接器命令失败,退出代码为 1

clang++:错误:链接器命令失败,退出代码为 1 Qt Android

Xcode - 链接器命令失败,退出代码为 1

Xcode 9 - 链接器命令失败,退出代码为 1

clang:错误:链接器命令失败,退出代码为 1(Unity 中的 XMPP 库导出了 xcode