XCode 疯狂 : Trying to compile a file that isn't referenced and doesn't exist

标签 xcode file compilation linker

我几乎要为此大发雷霆,所以如果有人能帮助我,它可能会挽救一些生命......

我有一个相当复杂的 CoreData 模型,它始终有一个名为 Anchor 的实体。我最近决定不需要几个属性,所以我从模型中删除了它们,然后在旧文件之上生成了新的 NSManagedObject 文件。然后一切都乱套了。

最初的编译错误是 Anchor 的重复定义,这让我百思不得其解。我以前遇到过这个错误,那是因为我不小心包含了一个 .m 文件,所以我搜索了我的项目以查找对 Anchor.m 的任何引用。什么都没有。

我尝试删除 Anchor.h 和 .m 文件,这样我就可以看到发生了什么,但并没有得到一堆编译错误“找不到 Anchor.h”,它在链接之前编译得很好,然后提示说它找不到 Anchor.m。我做了一个干净的,然后重建,仍然有同样的错误。重置 Mac。同样的错误。

我现在已经重命名了模型中的实体并为此重新生成了一组新文件。我已经替换了对头文件的所有引用并更改了所有类引用。它仍在寻找 Anchor.m。我搜索了整个 Mac,并重命名了我找到的 Anchor.h 和 Anchor.m 的任何副本。我对着 Mac 大喊大叫……我开始为此失去理智……

编译器不知何故不知何故需要编译根本不存在的文件。我已经搜索了 xcode .xcodeproj 文件并删除了对 anchor 的任何引用。拜托,拜托,请有人告诉我这个该死的文件引用在哪里,这样我就可以消灭它并回去完成这个项目......

最佳答案

假设您已删除 project.pbxproj 文件中对 Anchor.h/.m 的所有引用,另一件要尝试的事情是核对您的 DerivedData 文件夹。它可以位于几个不同的位置,具体取决于您如何设置 Xcode 4(我的位于 ~/Builds/Xcode4/DerivedData),但该文件夹存储了一堆与您的项目相关的中间/缓存文件,并且在极少数情况下,它将被损坏,导致项目构建不正确,或破坏代码完成。

关于XCode 疯狂 : Trying to compile a file that isn't referenced and doesn't exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7655512/

相关文章:

计算一个单词在文件中出现的次数

java - Android Studio - 编译错误 : (App keeps stopping) -> RuntimeException: Unable to instantiate activity

c++ - 将 SO_BROADCAST 设置为套接字失败,错误代码为 "Invalid argument"

swift - 如何在 Swift 3 中使用 NSTimeInterval

java - 使用 Spring 与 jar 相关的文件

javascript - 将文件对象从 Javascript 传递到 Web API

c++ - 为什么更新 dll 需要重新编译,有时则不需要?

c++ - 自动将类定义与声明分开?

ios - 如何在 Objective-C 中异步获取 API 数据?

ios - Xcode,急救员