改进由qmake生成的Makefile性能
Improving Makefile performance generated from qmake
我们的Qt 4.5项目有一个具有SUBDIRS qmake变量的根.pro文件。当在这个根文件上调用qmake时,它会生成一个Makefile,调用"qmake &&"为每个子目录创建"
现在的问题是,对于100多个子文件夹,这需要很长时间才能检测到另一个最新项目的一行更改。(耗时约13秒,太长了。)在项目的根目录下运行make,首先将目录更改为所有子目录,然后运行一个不做任何事情的make,直到找到它真正需要在其中工作的那个目录。(目前的一种解决方法是手动cd到您知道进行了代码更改的文件夹中,然后运行make。对于我们的eclipse环境,这太笨拙了。)
理想情况下,应该只调整根.pro文件,但我也会接受修改根Makefile的答案。
这是被认为是有害的递归make理论的一个经典论据:您的问题是您有几十个单独的makefile而不是一个大的makefile。解决这种困境的唯一方法是重构.pro文件,以便只生成一个Makefile。我对qmake的了解还不够,不能告诉你怎么做,抱歉。
相关文章:
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- OpenMP阵列性能较差
- 递归列出所有目录中的C++与Python与Ruby的性能
- 大小相等但成员数量不同的结构之间的性能差异
- 为什么constexpr的性能比正常表达式差
- 在类中使用随机生成器时出现性能问题
- 在main()之外初始化std::vector会导致性能下降(多线程)
- 针对遗留库的链接:来自预制makefile的-lgfortranbegin
- 海湾合作委员会 ARM 性能下降
- GCC 和 Clang 代码性能的巨大差异
- 在容量内调整矢量大小时的性能影响
- 使用 Makefile 中的头文件编译 Pybind (不使用 cmake)
- 了解算法的性能差异(如果以不同的编程语言实现)
- 未达到的情况会影响开关外壳性能
- 如何在使用Makefile构建后在cmd中运行该程序?
- Makefile g++ 使用命令行中的 -D 变量进行编译,默认值
- QStringList vs list<shared_ptr<QString>> 性能比较C++
- 是否总是可以将使用递归编写的程序重写为不使用递归的程序C++,性能观点是什么?
- 哪种方法更好,性能明智
- 改进由qmake生成的Makefile性能