【问题标题】:Mac target being built with iphonesimulator gcc 4.2使用 iphonesimulator gcc 4.2 构建的 Mac 目标
【发布时间】:2011-10-04 20:02:10
【问题描述】:

在混合 3.2.5 iOS/MacOS 项目中,有一个现有的 iOS 静态库目标,我正在添加一个 MacOS 静态库。在目标构建设置(所有配置)中我

  • 将 Base SDK 设置为“最新的 Mac OS X”
  • 将架构设置为 $(NATIVE_ARCH)
  • 将有效架构设置为仅 i386
  • 使用我自己的 PCH 文件
  • 将标题拖入 Copy Headers,Mac 目标
  • 将源拖入 Compile Sources,Mac 目标
  • 添加位于 /System/Library/Frameworks/Foundation.framework 的 Foundation.framework,将其设置为新的 Mac 目标

(/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/Foundation.framework 也存在,但设置为 iOS 目标静态库)

目标编译,但产品不是出现在“Debug”中,而是出现在“Debug-iphonesimulator”中。我假设这是链接到 iOS 基金会?不管它在做什么,我都不能认为那是安全的。

更改添加内容的顺序似乎没有效果。

有什么建议吗?

【问题讨论】:

  • 好吧,我几乎得出结论,在混合的 iOS/MacOS 静态库项目中,您不能依赖 Xcode 3.2.5 来生成链接到预期框架的二进制文件。我无法确认这一点,但是当 MacOS 构建产品出现在名为“Debug-iPhonesimulator”的文件夹中时,我很怀疑。解决方法:使用 XCode 4.0.2 或更高版本。 Xcode 4 始终链接到正确的框架。
  • 我在 Xcode 3.2.5 中找到了这个问题的解决方案。即使您会在静态库项目中看到预处理器宏错误,也要创建一个依赖它的新项目(添加混合静态库项目作为依赖项)。依赖项目将继续编译依赖项而不会出现问题(即使混合静态库项目无法自行编译!)。

标签: ios xcode macos build mixed


【解决方案1】:

我建议升级到 Xcode 4。我有构建 Mac 和 iOS 库的项目,并且都按预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 2012-03-04
    相关资源
    最近更新 更多