【问题标题】:error: linker command failed with exit code 1 (use -v to see invocation) xcode error?错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)xcode 错误?
【发布时间】:2023-03-28 19:05:01
【问题描述】:

我刚刚关注了一个关于创建 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”,错误说它是在同一范围内的两个地方定义的。
  • 正如木马所说,HighScoreNumber 可能在 game.h 和 ViewController.h 中都声明了。您需要删除其中一个声明或将其标记为“extern”。如果您没有完全删除,则需要在 Game.m 和 ViewController.m 文件中导入带有剩余声明的头文件。 trojanfoe 的回答是正确的。

标签: ios objective-c xcode xcode6


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-09-28
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2016-01-04
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    相关资源
    最近更新 更多