clang:错误:链接器命令失败,退出代码为1(Xcode 8.2.1)

时间:2017-01-07 10:18:49

标签: swift xcode cocoapods

我正在尝试将我的项目迁移到swift 3,我遇到了以下问题。我相信它是在运行pod更新后引起的。我正在使用Xcode 8.2.1。

  

ld:找不到文件:/ Users / tomfox / Library / Developer / Xcode / DerivedData / Flick_Quiz-ergbsdsnlpucndfmjqybgarjwaam / Build / Intermediates / Flick Quiz.build/Debug-iphonesimulator/Flick Quiz Dev.build/Objects-normal/x86_64 /FollowingViewController.o
  clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

我也遇到了另一个警告,我不确定但是它可能与第一个错误有关:

  

警告:输出文件的多个构建命令/ Users / tomfox / Library / Developer / Xcode / DerivedData / Flick_Quiz-ergbsdsnlpucndfmjqybgarjwaam / Build / Products / Debug-iphonesimulator / Flick Quiz.app/.gitkeep

2 个答案:

答案 0 :(得分:0)

从消息看起来FollowingViewController不知何故未包含在您正在尝试构建的目标中 - 我将首先转到该视图控制器,并查看它是否包含在目标中正在构建(右侧面板打开,目标成员资格的第一个选项卡)。如果包含它,那么开始查看为什么它没有正确编译该文件。做一个"清洁构建目录"是一个好主意 - 在打开"产品"时按住Alt键。菜单,你应该看到"清洁"改为"清理构建目录"。

从第二条消息中,它看起来像一个名为" .gitkeep"的文件。不知何故被意外地包含在目标会员中?可能来自多个可可豆荚库。该消息实际上不是错误,但是当您有两个同名目录中包含的同名文件时会发生这种情况,因为在编译应用程序时,Xcode会从所有不同位置复制文件并将它们放在应用程序包的顶层。就像我说的那样,它并不是一个错误,但我会说,不是真正属于你的项目的文本文件通常不应该包含在目标中。如果它是一个可可豆荚文件,它将在Pods项目中...我在文件导航器的底部搜索" gitkeep"看看会发生什么。

答案 1 :(得分:0)

当我遇到此错误时,由于swift3迁移,项目中存在其他错误,似乎修复了其他问题,删除了Match-O链接器。我认为这是因为项目无法正确编译,因此导出的数据不完整 - 虽然我不确定,所以请告诉我,如果我错了。