警惕 CONFIG+=ordered

39 篇文章 0 订阅

致qmake的用户:公共服务公告。如果您使用CONFIG + =ordered,请立刻停止。如果你不这样做,我会追杀你。我答应上帝,我会。

我们根本没有理由使用这个,永远都不会。有两方面的原因,会让它出现在项目文件中:
1. 你不知道你在做什么,你从别的地方复制
2. 你有一个目标,需要建立另一个目标后才可以构建


如果你属于第一类,那么我希望你现在改变,因为通过使用CONFIG + =ordered,你完美的禁用了多核构建你的代码。

如果你属于第2类,那么你就错了。你应该指定正确这样你的目标之间的依赖关系:

TEMPLATE = subdirs
SUBDIRS = src plugins tests docs
plugins.depends = src
tests.depends = src plugins



然后你就会有内置文档构建工具时感觉就像是,其余建成时,他们的依赖建立。

如果你有参与的子目录下,那么你需要额外级别的间接在您的项目,但它仍然不是最好的:

TEMPLATE = subdirs
src_lib.subdir = src/lib
src_lib.target = sub-src-lib

src_plugins.subdir = src/plugins
src_plugins.target = sub-plugins
src_plugins.depends = sub-src-lib

SUBDIRS = src_lib src_plugins



对于那些你想知道为什么我这听起来很沮丧,我已经解决了这么多的实例,现在,它只是变得老了,累了,坦率地说。我仍然保持运行到更多。这是无数分钟浪费的构建时间,都是因为懒惰的一行代码。请修复它。

附上一个简单的例子:https://github.com/rburchell/libresourceqt/commit/4c86922741eee367c194873852de53b44d59754b
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值