如何在Xcode中更改构建线程的数量?

Dri*_*ens 17 c++ xcode multithreading compilation building

我在xcode中构建了几个C++文件,需要大量内存才能编译(+ 1 GB /文件).因为我在双核笔记本电脑上执行此操作,xcode使用2个线程进行构建.这两个线程最终将构建同时占用大量内存的文件,因此系统遭受内存不足,编译即将停止.

对我来说一个充分的解决方案是强制Xcode只使用一个构建线程.有没有人知道改变Xcode使用的构建线程数的方法?

对于那些感兴趣的人,C++文件包含一个相当大的boost :: spirit :: qi解析器.

小智 18

Xcode用于执行任务的线程数由PBXNumberOfParallelBuildSubtasksoption 控制.您可以使用以下命令更改它: - defaults write com.apple.Xcode <key> <value>.例如:

defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 8
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅Xcode用户默认值.

还有许多其他方法可以加速编译,从预编译头到分布式构建.阅读减少构建时间以获取更多信息.

祝好运!

  • 链接不再有效 (5认同)
  • 试试这个默认写 com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks ``sysctl -n hw.ncpu` ` (2认同)

Jif*_*ang 12

在Xcode 5,你可以使用-parallelizeTargets-jobs NUMBER使用xcodebuild.根据xcodebuild --help:

-parallelizeTargets     build independent targets in parallel
-jobs NUMBER            specify the maximum number of concurrent build operations
Run Code Online (Sandbox Code Playgroud)