我已经下载了 Qt 5 并尝试构建我的项目。项目现在需要将小部件添加到 QT 变量,但这会在旧版本中产生警告:
项目消息:警告:未知 QT:小部件
简单的解决方案似乎添加了一个简单的检查:
equals( $$QT_MAJOR_VERSION, 5 ) {
message(" ================ QT 5 ================ ")
QT += widgets
} else {
message(" ================ QT 4 ================ ")
}
那没有用(打印了QT 4)。确实,equals 不是qmake 函数参考的一部分,但包含。所以尝试了:
contains( $$QT_MAJOR_VERSION, 5 ) {
message(" ================ QT 5 ================ ")
QT += widgets
} else {
message(" ================ QT 4 ================ ")
}
但这也没有奏效。其他各种组合,如 contains("$$QT_MAJOR_VERSION", "5") 不起作用。
$$QT_MAJOR_VERSION 为 4 或 5 的假设通过如下行检查:
message( $$QT_MAJOR_VERSION )
以这种方式设置局部变量并测试其值是行不通的。
所有这一切的结论是我不了解关于 qmake 机制的一些基本知识。那么如何将变量与 qmake .pro 文件中的值进行比较呢?