Red*_*ale 3 xcode linker compilation file
我已经快要为此大发雷霆了,所以如果有人能帮助我,可能会拯救一些生命……
我有一个相当复杂的 CoreData 模型,它始终有一个名为 Anchor 的实体。我最近决定不需要几个属性,因此我从模型中删除了它们,然后在旧文件的顶部生成了新的 NSManagedObject 文件。然后一切都崩溃了。
最初的编译错误是因为 Anchor 的重复定义,这让我困惑不已。我以前遇到过这个错误,那是因为我不小心包含了一个 .m 文件,所以我在我的项目中搜索了对 Anchor.m 的任何引用。没有什么。
我尝试删除 Anchor.h 和 .m 文件,这样我就可以看到发生了什么,但没有出现一堆编译错误“无法找到 Anchor.h”,而是编译得很好,直到链接,然后抱怨它不能' t 找到 Anchor.m。我做了清理,然后重建,但仍然遇到相同的错误。重置 Mac。同样的错误。
我现在已重命名模型中的实体并为此重新生成了一组新文件。我已经替换了对头文件的所有引用并更改了所有类引用。它仍在寻找 Anchor.m。我搜索了整个 Mac,并重命名了我找到的 Anchor.h 和 Anchor.m 的任何副本。我对着 Mac 大声喊叫……我开始为此失去理智……
在某个地方,不知何故,编译器的头脑中认为它需要编译根本不存在的文件。我已经搜索了 xcode .xcodeproj 文件并删除了对锚点的所有引用。拜托,拜托,请有人告诉我这个该死的文件参考在哪里,这样我就可以消灭它并回去完成这个项目......
假设您已经删除了 project.pbxproj 文件中对 Anchor.h/.m 的所有引用,则要尝试的另一件事是删除 DerivedData 文件夹。它可能位于几个不同的位置,具体取决于您如何设置 Xcode 4(我的位于 ~/Builds/Xcode4/DerivedData),但该文件夹存储了一堆与您的项目相关的中间/缓存文件,并且在极少数情况下,它将被损坏,导致项目构建不正确,或破坏代码完成。