【问题标题】:how to modify the number of parallel compilation with Xcode如何用Xcode修改并行编译的数量
【发布时间】:2011-07-22 00:42:46
【问题描述】:

使用 XCode 构建 C++ 项目时如何更改并行编译次数?

我不是在谈论分布式构建,而是在单个计算机上同时编译来自单个项目的一组源文件。 (目前使用 Xcode 3.2.4)

谢谢

【问题讨论】:

  • 有关信息,我的四核上的构建时间太长了。将此值从 8 减少到 4 后,构建时间变得更加合理。

标签: c++ xcode build parallel-processing


【解决方案1】:

对于 Xcode 4,您必须设置 IDEBuildOperationMaxNumberOfConcurrentCompileTasks 用户默认值,例如:

defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 4

注意“dt”。这不会影响命令行上的 xcodebuild。为此,请使用类似

xcodebuild -IDEBuildOperationMaxNumberOfConcurrentCompileTasks=4 ...

(见http://lists.apple.com/archives/xcode-users/2011/Apr/msg00403.htmlhttp://lists.apple.com/archives/xcode-users/2011/Jul//msg00377.html

【讨论】:

    【解决方案2】:

    调整PBXNumberOfParallelBuildSubtasks用户默认值,例如:

    defaults write com.apple.XCode PBXNumberOfParallelBuildSubtasks 6
    

    【讨论】:

      【解决方案3】:

      仅作记录 - 我们网站上使用 XCode 4 的开发人员发现,如果安装了 McAfee 防病毒软件,并行编译将被禁用。应该在 15-20 分钟内完成的构建需要将近五个小时才能删除 McAfee。

      【讨论】:

      • 这可能不是并行构建被禁用,而是访问速度很慢,因为 McAfee 阻止。我在 Win + OSX 上也看到了 Avira Antivirus,最多不可写文件,因为它们被观察者锁定。
      【解决方案4】:

      对于命令行构建,我已经测试了 Mimika 链接的 2011/Jul mailing list post,并将其部署在我们的(Xcode 4.2,在 Snow Leopard 上)构建服务器上以节省内存,如下所示:

      defaults write xcodebuild IDEBuildOperationMaxNumberOfConcurrentCompileTasks 1
      

      【讨论】:

      • 启动后,Xcode 6 将使用我 iMac 的所有四个处理器,但过一段时间后它只使用两个。是什么让它回落到两个? “默认写入 xcodebuild IDEBuildOperationMaxNumberOfConcurrentCompileTasks 1”在 Xcode 6 中仍然有效吗?谢谢。
      【解决方案5】:

      我不知道为什么它会从四个下降到两个,但我还发现退出 Xcode 6,然后在终端中输入“defaults write xcodebuild IDEBuildOperationMaxNumberOfConcurrentCompileTasks 4”让我在 Xcode 重新启动时回到四个。

      【讨论】:

        猜你喜欢
        • 2011-03-16
        • 2010-11-24
        • 2019-11-14
        • 2013-09-20
        • 2013-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多