【发布时间】:2011-09-07 02:36:29
【问题描述】:
我已经下载了一个针对 Windows 的开源 Qt。由于我使用 VS2010 命令提示符进行安装,它会自动将平台设置为 msvc-2010。当我尝试使用 nmake 构建时,大约需要 7-8 个小时才能完成安装。在此过程中,我注意到 Qt 正在编译我不需要的库,例如 javascript。
由于我专注于桌面开发,我可以知道如何缩短构建过程吗?
【问题讨论】:
标签: qt build-process nmake
我已经下载了一个针对 Windows 的开源 Qt。由于我使用 VS2010 命令提示符进行安装,它会自动将平台设置为 msvc-2010。当我尝试使用 nmake 构建时,大约需要 7-8 个小时才能完成安装。在此过程中,我注意到 Qt 正在编译我不需要的库,例如 javascript。
由于我专注于桌面开发,我可以知道如何缩短构建过程吗?
【问题讨论】:
标签: qt build-process nmake
正如@tibur 所说,您可以使用jom,这是一种“并行nmake”。您还可以将几个选项传递给 Qt 的配置,其中一些是:
-release 或 -debug:仅构建发布或调试二进制文件-nomake demos、-nomake examples、-nomake tools:构建不好,演示、示例或工具。-no-webkit、-no-qt3support、-no-script、-no-scripttools:禁用某些 Qt 模块。可能还有更多,configure.exe --help 会告诉你所有可用的选项。
【讨论】:
assistant、designer、linguist、qdoc3 等...<source>/tools 文件夹中的所有内容。如果您只需要这些库而仅此而已,则可以禁用它。
使用时间最长的一个大库是 webkit。如果不需要webkit,可以通过
-no-webkit
并且构建时间应该会显着减少。相比之下,大多数其他标志(如 -nomake 演示、-nomake 示例,请参阅 rubenvb 的答案)都是微优化。
【讨论】:
我将 Qt 配置为构建 vcproj 文件,然后使用支持多线程构建的 vcbuild,使用 /M4 或 /M8 选项:
/M
<number>指定号码 要运行的并发构建,如果 可能
您也可以使用 devenv.com 进行构建,如果您已在 IDE 选项中进行了配置,则它会同时构建。
显然,这两个都像jom,但这在不安装其他任何东西的情况下也有效。
【讨论】:
看看jom。
jom 是nmake 的克隆,支持并行执行多个独立命令。 它添加了类似于 GNU make 的 -j 命令行开关。
【讨论】: