如何测试变量是否为空或未在qmake
.pro
文件中定义?如果未定义变量,我希望能够设置默认值。
我试过
eval("VARIABLE" = ""){
VARIABLE = test
}
eval("VARIABLE" = ""){
message(variable is empty)
}
但我仍然收到“变量为空”的消息。
已经有我没有发现的函数isEmpty :
isEmpty(VARIABLE){
VARIABLE = test
}
isEmpty(VARIABLE ){
message(variable is empty)
}
我不明白为什么 eval 没有工作的想法......
就像你自己的回答说的那样,isEmpty(VARIABLE)
做你想做的事:
isEmpty(VARIABLE) {
...
}
qmake 语言没有等价运算符 ( ==
),但您可以像这样比较:
equals(VARIABLE, foo) {
...
}
您还可以使用正则表达式检查变量是否包含子字符串:
contains(VARIABLE, .*foo.*) {
...
}
eval()
不起作用的原因是它执行其中的语句,如果语句成功则返回 true。
所以通过这样做:
eval(VARIABLE = "") {
...
}
...您实际上是分配 ""
给VARIABLE
,使变量为空并进入块。
更多关于测试功能:http: //qt-project.org/doc/qt-5/qmake-test-function-reference.html