【问题标题】:Adding custom Destinations in Xcode 4在 Xcode 4 中添加自定义目的地
【发布时间】:2011-10-13 00:35:30
【问题描述】:

我正在尝试将 Xcode 与具有自定义构建系统的现有项目一起使用。它有几个不同的平台目标,我希望能够指定其中任何一个并轻松构建它。 Xcode 所要做的就是运行make build-platform DEBUG=1 或类似的东西。

我创建了一个外部构建系统项目(在 Mac OS X 类别下,因为这是唯一的选择。)我唯一可以预见的问题是目标列表。我现在在这里看到的是:

  • 我的 Mac 64 位
  • 我的 Mac 32 位

我到处寻找我能想到的改变这些,但无济于事。我需要一个不同平台的列表。我该怎么做?根据目标自定义构建设置的正确方法是什么?

(注意:我可能也可以使用每个平台的方案进行此操作,但我更愿意使用目的地。无论哪种方式,我仍然需要知道如何根据活动设置来更改 make 目标。 )

【问题讨论】:

    标签: c++ xcode macos xcode4 xcodebuild


    【解决方案1】:

    我必须在 Xcode 4 中使用外部 Makefile 项目,它只有 32 位。在我看来,删除“My Mac 64-bit”项目的诀窍是将架构值(ARCH)设置为“i386”。

    在 Info 选项卡中,我正在设置 makefile 选项和目标:

    这些更改实际上只是 Xcode 的菜单项的装饰 - 由我的构建 makefile 来构建正确的体系结构。我没有勾选“通过构建设置...”,所以我忽略了 ARCH 设置,其余的就该这样了。

    我不需要 i386 和 x86-64,但如果需要,我需要向 makefile 添加规则以构建通用二进制文件。

    Xcode 4 中的外部 makefile 项目支持让 Xcode 显示正确的目标类型有点繁琐,但它似乎确实有效。请注意,默认情况下,它会在添加另一个目标时自动创建方案;您最终可能会得到比预期更多的方案,或者方案与其目标不匹配。我将目标和方案重命名为套件。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      如果您想单独构建平台,则需要创建单独的配置。否则,XCode 构建步骤会将您在配置中定义的所有已定义架构构建为单个二进制文件(例如 i386 + x86_64)。无论是从 XCode 的 IDE 还是从 xcodebuild 命令行运行构建都是如此,我假设您使用的是后者,因为您有一个外部构建系统。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-13
        • 2011-09-03
        • 2011-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-03
        相关资源
        最近更新 更多