XCode 9无法构建 - 链接器因目标文件上的“找不到文件”而失败 - 项目在XCode 8.3.3中构建良好

时间:2017-10-31 02:52:43

标签: xcode

这是令人沮丧的。我的项目在8.x版本的XCode中完美构建,但在9.x版本中,它在链接器阶段始终失败,因为链接器无法为看似随机的类找到.o文件。

例如,在一个构建中,它将无法找到UIWindow子类的中间对象文件:

XCode linker error screenshot

在其他版本中,其他文件可能被识别为罪魁祸首,并且具有相同的“找不到文件”链接器错误。

因此,显然链接器阶段存在脱节。我能理解。但我无法挽救我的生命。

这是什么不起作用:

•删除衍生数据

•清洁和选项清洁

•在.swift文件检查器中,从目标中删除文件并重新添加到目标

•重命名目标

•从项目中删除所谓的错误文件,然后转移到垃圾箱,然后将文件重新添加到项目和目标中。

•将Build Settings的高级工作区设置从“XCode default”切换为“Legacy”

•将XCode从9.0更新到9.0.1

•解密Cocoapods并重新安装它们

老天。

所以,通常的嫌疑人都没有在这里发挥作用。

其他详情:

•当我查看链接器错误消息中指定的文件夹时,.o文件不存在。 (他们没有被创建吗?有没有设置?)

•在MacBook Pro Retina 15上使用Mac OS High Sierra

所以这是我的难题。

有没有人知道为什么XCode 9要么没有创建.o文件,要么无法找到这些文件,因为这个项目在以前的XCode版本中完美构建了?

谢谢!

1 个答案:

答案 0 :(得分:0)

我发现的唯一解决方案无疑是非常痛苦的。我创建了一个新项目,然后将所有文件和依赖项重新导入到新项目中。然后设置所有构建设置等。此时项目回到构建并正常工作。

如果再次发生这种情况,我会尝试删除.xcworkspace文件并在开始新项目之前先使用pod install重新生成它。

愿这不会发生在你身上。