7

我的应用程序在模拟器和设备上构建和运行良好,但我注意到由于某种原因,我的主目录中有一个重复的目录,还有一些重复的文件。因此,虽然我的主目录是 /MyAppName,但 /MyAppName/MyAppName 中也有文件。

我小心地将所有不重复的文件移出子目录,删除了目录,并更新了 Prefix Header 和 Info.plist 文件的路径。我清理并构建了项目,但是在查看重复的子目录(已删除)时,编译器仍然出现错误,如下所示:

arm-apple-darwin10-llvm-gcc-4.2:/MyAppName/MyAppName/main.m:没有这样的文件或目录

因为 main.m 现在在 /MyAppName/main.m

除了 Prefix Header 和 Info.plist 文件之外,我没有看到要查找的变量或设置。还有其他地方我应该看看吗?显然有些东西仍在引用重复的子目录,但我看不到在哪里。

4

4 回答 4

4

从您对项目布局的描述来看,这听起来像是一个 Xcode 4 项目。Xcode 的项目配置仍然认为 main.m 在 中/MyAppName/MyAppName,因此您需要更新此文件和任何其他文件的项目配置。

在 Project Navigator(左面板)中选择 main.m 并打开 File Inspector(右面板)。在文件检查器的位置标题下,单击看起来像带有文档图标的小窗口的按钮;这将允许您更新 main.m 的项目路径。对其他文件重复。根据您拥有的文件数量,将它们从项目中删除(使用项目导航器)可能会更容易,确保不要删除它们,然后再次将它们添加回项目中。

您可能最终会得到文件系统层次结构中不同级别的文件,因为当您创建一个新文件时,Xcode 会使用 Project Navigator 中的选择来确定将其放在磁盘上的哪个位置。如果您选择了项目,该文件将进入顶级文件夹;如果您选择了组,它将进入与该组或其父组之一关联的任何文件夹。

于 2011-06-13T19:37:33.747 回答
2

在我的项目中移动文件时遇到了这个问题。转到项目的构建设置并搜索main.m. 然后修复该设置。

于 2011-06-13T19:42:14.063 回答
2

我有一个类似的问题(移动文件后);并且无法确定坚持 main.m 位于旧文件夹中的设置在哪里。main.m 在项目树中正确出现,被正确引用,包含在项目中,等等;但构建坚持使用旧位置。

我能够通过从项目中删除 main.m 并重新添加它来解决问题。我还建议进行完全清理(cmd-opt-shift-K)并构建。

于 2011-08-26T17:23:15.320 回答
0

不确定您使用的是哪个版本的 Xcode,但如果您使用的是 3.x,您是否使用“空缓存”(Xcode 菜单)来确保在构建之前删除了任何中间文件?有时清洁目标并不能解决问题。

此外,您可以尝试从项目中删除有问题的文件并从正确的路径重新添加它们。

于 2011-06-13T17:40:32.170 回答