Ste*_*eng 22 qt qt-creator mingw32
我的Windows桌面上有一个四核i7 CPU.我试图让mingw32-make使用尽可能多的内核进行编译.我已将-j8添加到Build Settings-> Build Steps下的"Make Arguments"字段中.mingw32-make似乎完全忽略了该选项,因为我没有从中获得任何速度提升.当我查看任务管理器中的CPU使用率时,它保持在13%,我只看到一个运行g ++的实例.
现在,使用mingw重建整个项目需要3分钟.使用MSVC重建它只需要15秒.
为了您的信息,我在项目设置中启用了预编译的标题选项.这也使VC的事情变得更快.但我仍然没有看到预编译头与mingw的好处.
如果你有从MTCreator并行编译多个源文件的话,请分享你的意见.谢谢!
小智 22
这就是我做的.
在Qt Creator的工具 - >选项菜单中,在"构建并运行"部分下有一个选项,显示"使用jom而不是nmake".我检查了那个盒子,但没有改变.所以相反,我去了项目的构建设置,在构建步骤类别下有一个"Make"项.展开详细信息,您将找到"覆盖mingw32-make.exe:"项.我在那里粘贴了"C:\ QtSDK\QtCreator\bin\jom.exe",突然间我正在构建多个核心.
在Qt Creator 2.4.1上为我工作.试试看.
Bre*_*nks 11
-j8 由于GN32 Make on Win32的限制,可能无法正常工作.
试着直接-j进入make arguments字段.这告诉Make生成尽可能多的编译进程 - 如果你有足够的RAM和CPU来处理它,它应该比单个编译快.
不幸的是,这些是唯一的两个选项(不修改Makefile):要么是-j1无限制的-j
完整详细信息:GNU Make on Win32不支持作业服务器,因此父Make进程无法跟踪任何sub-Make产生的编译进程数.为了安全起见,子Make只运行-j1.我相信qmake/Qt Creator生成的Makefile会使用多层Makefile.我首先使用Microchip的MPLAB X IDE了解了这个问题,请查看此主题以获取更多信息
这句话来自与GNU Make一起发布的README.W32
支持并行构建
此端口支持并行构建(-jN),有2个限制:
由于此端口实现等待其子进程的方式,并发进程数的硬限制为64;
不支持作业服务器方法(在Posix平台上运行Make时可用),这意味着您必须在递归Makefile中将显式-jN开关传递给子Make.如果sub-Make没有收到明确的-jN开关,它将默认为-j1,即sub-Make中没有并行性.
| 归档时间: |
|
| 查看次数: |
24673 次 |
| 最近记录: |