【问题标题】:To test the result of a code change, do I always need to ReBuild the whole thing?要测试代码更改的结果,我是否总是需要重新构建整个事情?
【发布时间】:2016-08-10 14:20:18
【问题描述】:

在 64 位 Windows 上使用 Qt Creator 5.7.0 MinGW 32 位,我第一次设置并运行了一个 c++ 开源应用程序。我成功下载了他们的代码,对其进行了配置,并将项目构建/运行为 Debug

我注意到编译或构建需要 10 到 15 分钟。因此,假设我更改了一行代码,并且我想测试结果:在 VS 中我可以运行而无需重新构建所有内容。我在 Qt 中有这个选项还是缺少一些额外的配置?

Becoming a developer 指南指出: “您可以通过在 make 参数中添加 -j 来提高构建速度” 和“在四核 i5 上使用 -j3 可以在不到 3 分钟的时间内通过 clang 构建。”所以我这样做并使用了 -j3。

Installing LibreCAD from source on Windows 状态: “通过取消选中 Shadow Build 复选框,从调试版本和发布版本中删除影子构建。” 我也这样做了。

应用程序中没有任何内容使用或需要互联网(构建/运行 - 全部本地)。我在基于 Windows 10 Pro x64 的 Intel(R) Core(TM) i5-6500 CPU 3.20GHz 上。 16 GB RAM 和我的 Cpu 利用率在构建时平均达到 80%。

如果有任何修复建议,我将不胜感激。请和谢谢

【问题讨论】:

  • 我认为您不需要重建所有内容。通常,项目的第一次构建需要一些时间,但后续构建应该很快:只有更改的文件应该重新编译,目标文件将再次链接在一起。
  • 看起来不像这样做。即使我没有改变任何东西,编译仍然需要 10 到 15 分钟

标签: c++ qt compilation qt-creator compiler-optimization


【解决方案1】:

如果 LibreCAD 使用 qmake,那么不幸的是构建不会很快,因为递归 make 不是很快。

如果 LibreCAD 使用 cmake,那么您应该使用 cmake 的 ninja 输出,然后构建将尽可能快。

【讨论】:

  • 这就是我的项目设置页面的样子:postimg.org/image/i9ltyvdkb 我假设它是 qmake 那么?
  • 确保 cmake 项目文件不可用:如果是,则应首选它们。除此之外,使用 Visual Studio 编译器可能会更快一些;你需要测试一下。不幸的是,mingw 在 Windows 上一直有一种继子的感觉。它可以工作,但它似乎并没有像它可以工作的那样好。您最好在 OS X 或 Linux 上进行开发,偶尔在 Windows 上进行测试。
  • LibreCAD team 说他们“没有人反对支持 msvc;” .. 和其他地方“你必须成为自己的英雄在 Visual Studio 上构建”。但是,我尝试使用 VS 进行构建,这很痛苦。如何确保 cmake 文件不可用?您认为从长远来看,适应 OSX/Linux 并使用该环境是否值得?对我来说,我想是的,我不想每次换行都等 15 分钟..
  • 如果有CMakeLists.txt文件,则项目支持cmake。否则,您可以选择根据.pro 文件编写自己的文件。即使在 Unix 上,您也可能希望使用 cmake+ninja 来获得亚秒级的构建时间。在 Windows 上,唯一的方法是 cmake+ninja+visual studio 编译器生成 .vsproj 文件并在 Visual Studio 本身下构建。
  • 没有CMakeLists.txt。对我来说看起来有很多工作:(我想我会用一个虚拟机并尝试在 linux OP 上编译整个东西,因为它们不支持 Visual Studio,我发现它很难......现在有点迷失了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-31
  • 2023-04-04
  • 2013-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
相关资源
最近更新 更多