【问题标题】:1 duplicate symbol for architecture x86_64架构 x86_64 的 1 个重复符号
【发布时间】:2018-09-15 02:26:03
【问题描述】:

我不确定我做错了什么。
我将我的项目文件夹移动到另一个文件夹并将备份文件夹复制到桌面。
我试图打开备份项目并构建,我收到链接器错误。
所以我决定删除我的备份文件夹并将我的项目文件夹移回桌面。我无法再编译并收到以下错误。

 Showing Recent Issues clang: error: linker command failed with exit code 1 (use -v to see invocation)

duplicate symbol _main in:
/Users/BRO/Library/Developer/Xcode/DerivedData/SFITNESS-flzvwdymttxhducvwvmhpuaqfzhj/Build/Intermediates.noindex/SFITNESS.build/Debug-iphonesimulator/SFITNESS.build/Objects-normal/x86_64/main-90EC778DD760FD57.o
/Users/BRO/Library/Developer/Xcode/DerivedData/SFITNESS-flzvwdymttxhducvwvmhpuaqfzhj/Build/Intermediates.noindex/SFITNESS.build/Debug-iphonesimulator/SFITNESS.build/Objects-normal/x86_64/main-F627C2B37F247040.o
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)  

没有派生数据文件夹

还是一样

1.我打开了 Derived Data 文件夹并删除了其中的所有内容
2.我删除了所有模拟器中的所有项目
3.我重新启动了 xCode,清理并构建

还是一样

将项目添加到 GitHub

link

【问题讨论】:

  • 你删除了你的驱动数据吗??
  • 不,我不这么认为,永远不要碰驱动器数据。
  • @HansheungCheah 删除派生数据而不是尝试
  • 如何删除派生数据?
  • /Users/mac/Library/Developer/Xcode/DerivedData 删除那个文件夹

标签: ios objective-c xcode linker-errors


【解决方案1】:

您需要为您的项目添加必要的框架。检查所有第三方框架并搜索其所需的框架以获得支持。例如如果你添加 google analytic 那么你需要 add CoreDataFoundation 等框架。缺少某些第三方框架需要的框架。

或者你可以-

  1. "Cmd + Shift + K"shift + cmd + alt + k 进行清理并退出Xcode。
  2. 删除缓存运行"rm -rf ~/Library/Developer/Xcode/DerivedData" 在终端中

  3. 打开项目并重新构建它

Linker command failed with exit code 1 - 要解决此错误,请按 "Cmd + Shift + K"shift + cmd + alt + k 这将为您完成工作。我也有同样的问题,但通过使用这条线解决了。希望这能解决您的问题。

项目的输出 -

【讨论】:

  • 您好,谢谢 Rashed,我已经尝试过您的解决方案,但没有成功。多次尝试删除 DerivedData 并重新启动 xCode。它仍然无法构建。
  • 你试过 shift + cmd + alt + k 吗?
  • 我怀疑我从 gitHub 下载的一些文件或代码是很久以前添加的,在我复制文件夹后没有在目标 C 中正确引用。
  • 不会有问题的
  • 此答案已被编辑以添加垃圾图片,可能应该被删除。
【解决方案2】:
duplicate symbol _main

你有两个 main.m 文件并且函数 main() 有冲突。

只需删除 CERangeSlider 下的 main.m 即可。

【讨论】:

    【解决方案3】:

    我从 github 克隆了你的项目,我发现 main.m 文件在 SFITNESSCERangeSlider 中重复 您可以删除其中一个,您的项目将正常运行。

    【讨论】:

      【解决方案4】:

      如何获得derived data

      • 打开 Xcode。
      • 打开 Xcode 首选项 (Cmd + ,)
      • 选择位置选项。
      • 现在你有了场景,现在点击下图所示的点。

      • 您的派生数据现已打开(建议您在查找器左侧菜单中添加驱动器数据)。删除驱动器数据中的任何内容。

      • 现在从模拟器中删除您的项目。
      • 清理并构建您的项目。

      如果您仍然遇到问题,请告诉我们,以便我们提供相应的帮助。

      【讨论】:

      • 您好,我已经尝试了您的步骤,但仍然是同样的错误?
      猜你喜欢
      • 2018-08-08
      • 2016-07-13
      • 2021-10-04
      • 1970-01-01
      • 2015-01-22
      • 2016-06-03
      • 1970-01-01
      • 2023-04-04
      相关资源
      最近更新 更多