首页 文章

Xcode - 重复目标 - 新目标无法构建

提问于
浏览
5

在10.6.6(10J521)和现在的10J537上使用Xcode 3.2.5 .

我有一个包含1个目标的Xcode项目:“MyApp” . 它构建并成功运行 .

除了源文件和资源文件之外,Target还包含一个“复制文件”构建阶段,该阶段复制“Sparkle.framework” . 框架与项目位于同一目录中 .

我想复制这个目标 . 采取的步骤:

  • “清除所有目标” .

  • 右键单击Xcode中的“MyApp”目标,然后选择“复制” .

  • 将重复的目标重命名为“MyAppTarget2” .

  • 从左上角的弹出菜单中选择“MyAppTarget2”作为活动目标 .

  • 做了“ Build ” .

The problem:

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”目标,它会构建并成功运行 .

我在做一些明显不对的事吗?谢谢 .

[编辑 - 已解决]

2 回答

  • 0

    我知道你自己已经解决了这个问题,但我想我会分享我对这个问题的解决方法(因为它已经发生在我身上好几次了) . 我总是能够通过删除有问题的文件并重新创建它来摆脱这个错误 . 我不知道为什么会这样......但是,正如XCode的情况一样,似乎有一些伏都教在起作用 .

  • 14

    我看了每个所谓的相同Target的Build设置 .

    在“框架搜索路径”下,第一个目标有:

    $(继承)“$(SRCROOT)”

    但重复的目标有这条道路:

    $(继承)\“$(SRCROOT)\”

    在复制过程中,Xcode似乎错误地转义了路径 . 哎哟 .

相关问题