qmake "The *= operator"

 

今天浏览了下Qtwenkit的测试例子(./src/testlib/testlib.pro),发现其中的pro中有:

DEFINES *= QT_NO_CAST_TO_ASCII \
    QT_NO_CAST_FROM_ASCII \
    QTESTLIB_MAKEDLL \
    QT_NO_DATASTREAM
 
 对 *= 赋值的意思有点模糊了,应该是如果没有赋值过才执行赋值的意思。 经查看文档,确认了就是这个意思:
 
The *= operator adds a value to the list of values in a variable, but only if it is not already present. This prevents values from being included many times in a variable. For example:
  下面例子:如果还没有定义QT_DLL,那么就定义它:
 DEFINES *= QT_DLL
In the above line, QT_DLL will only be added to the list of pre-processor defines if it is not already defined. Note that the unique() function can also be used to ensure that a variables only contains one instance of each value.


The ~= operator replaces any values that match a regular expression with the specified value:

 DEFINES ~= s/QT_[DT].+/QT
In the above line, any values in the list that start with QT_D or QT_T are replaced with QT.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值