删除重复的子目录后没有此类文件或目录

时间:2011-06-13 17:20:45

标签: iphone xcode4 llvm-gcc

我的应用程序正在构建并在模拟器和设备上正常运行,但我注意到由于某种原因,我的主目录中有一个重复的目录,以及一些重复的文件。因此,虽然我的主目录是/ 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 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:2)

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

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

答案 3 :(得分:0)

不确定您正在使用的Xcode版本,但如果您使用的是3.x,您是否使用“空缓存”(Xcode菜单)确保在构建之前删除了所有中间文件?有时清洁目标不起作用。

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