在10.6.6(10J521)和现在的10J537上使用Xcode 3.2.5。
我有一个包含1个目标的Xcode项目:“MyApp”。它构建并成功运行。
除了源文件和资源文件之外,Target还包含一个“复制文件”构建阶段,该阶段复制“Sparkle.framework”。框架与项目位于同一目录中。
我想要复制此目标。采取的步骤:
“清理所有目标”。
右键点击Xcode中的“MyApp”目标,然后选择“复制”。
将重复的目标重命名为“MyAppTarget2”。
从左上角的弹出菜单中选择“MyAppTarget2”作为Active Target。
“Build”。
问题:
error: Sparkle/Sparkle.h: No such file or directory
在这一行:
#import <Sparkle/Sparkle.h> // In MyAppDelegate.mm
这令人费解!更多信息:
每个构建步骤似乎都已复制到重复的目标中,包括“复制文件”阶段。
Sparkle.framework本身存在于项目的文件夹中。
在“MyApp”和“MyAppTarget2”的“Link Binaries with Library”阶段,我将链接到上述位置的Sparkle.framework。链接二进制文件的“获取信息”报告它是两个目标的成员。
如果我右键单击复制目标的“复制文件”构建阶段中的Sparkle.framework文件,并选择“在Finder中显示”,则会显示正确的Sparkle.framework文件。所需文件存在于Sparkle.framework / Headers / Sparkle.h
如果我切换回原来的“MyApp”目标,它会构建并成功运行。
我在做一些明显错误的事吗?感谢。
[编辑 - 已解决]
答案 0 :(得分:14)
我看了每个所谓的相同目标的构建设置。
在“框架搜索路径”下,第一个目标有:
$(继承)“$(SRCROOT)”
但重复的目标有这条道路:
$(继承)\“$(SRCROOT)\”
在复制过程中,Xcode似乎错误地转义了路径。哎哟。
答案 1 :(得分:0)
我知道你自己已经解决了这个问题,但我想我会分享我对这个问题的解决方法(因为它已经发生在我身上好几次了)。我总是能够通过删除有问题的文件并重新创建它来摆脱这个错误。我不知道为什么会这样......但是,正如XCode的情况一样,似乎有一些伏都教在起作用。