1 个重复符号用于架构x86_64

1 duplicate symbol for architecture x86_64

提问人:Hanz Cheah 提问时间:4/5/2018 最后编辑:Hanz Cheah 更新时间:10/7/2023 访问量:19752

问:

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

 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)  

Help Needed

无派生数据文件夹

pic

还是一样

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

还是一样Pic 2

将项目添加到 GitHub 中

链接

ios objective-c xcode 链接器错误

评论

1赞 dahiya_boy 4/5/2018
你删除了你的DrivedData吗?
0赞 Hanz Cheah 4/5/2018
不,我不这么认为,永远不要接触驱动器数据。
0赞 4/5/2018
@HansheungCheah删除 derivedata 而不是尝试
0赞 Hanz Cheah 4/5/2018
如何删除衍生数据?
0赞 4/5/2018
/Users/mac/Library/Developer/Xcode/DerivedData 删除该文件夹

答:

0赞 dahiya_boy 4/5/2018 #1

如何获得derived data

  • 打开 Xcode。
  • 打开 Xcode 偏好设置 (Cmd + ,)
  • 选择位置选项。
  • 现在你有场景,现在点击点,如下图所示。

    enter image description here

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

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

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

评论

0赞 Hanz Cheah 4/9/2018
嗨,我已经尝试了你的步骤,但仍然有同样的错误?
7赞 Rashed 4/10/2018 #2

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

或者你可以——

  1. 按下 或 进行清理,然后退出 Xcode。"Cmd + Shift + K"shift + cmd + alt + k
  2. 删除缓存 Run in terminal"rm -rf ~/Library/Developer/Xcode/DerivedData"

  3. 打开项目并重新生成它

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

项目的输出 -

enter image description here

enter image description here

评论

0赞 Hanz Cheah 4/10/2018
嗨,谢谢拉希德,我已经尝试了您的解决方案,但没有奏效。已尝试多次删除 DerivedData 并重新启动 xCode。它仍然不会构建。
0赞 Rashed 4/10/2018
您是否尝试过 Shift + CMD + Alt + K?
0赞 Hanz Cheah 4/10/2018
我怀疑我很久以前从 gitHub 下载的一些文件或代码在我复制文件夹后没有在目标 C 中正确引用。
0赞 Rashed 4/10/2018
那不会有问题
0赞 matt 9/23/2019
此答案已被编辑以添加垃圾图片,可能应该删除。
4赞 a.masri 4/10/2018 #3

我已经从 github 克隆了您的项目,我发现该文件在 中重复,您可以删除其中一个,您的项目将正常工作。main.mSFITNESSCERangeSlider

5赞 Shaheen M Basheer 4/15/2018 #4
duplicate symbol _main

您有两个 main.m 文件,并且函数 main() 发生冲突。

enter image description here

只需删除 CERangeSlider 下的 main.m,它应该可以工作。