qmake无法正确检测变量

时间:2012-03-27 18:51:29

标签: c++ qt variables definition qmake

在这个qmake代码中:

MY_COMPILER = mingw warning($$MY_COMPILER) contains(MY_COMPILER, mingw) { INCLUDEPATH += ../../libsrc/Qwt/qwt-6.0.1-win-Qt-4.8.0/src DEPENDPATH += ../../libsrc/Qwt/qwt-6.0.1-win-Qt-4.8.0/src QMAKE_RPATHDIR *= ../../libsrc/Qwt/qwt-6.0.1-win-Qt-4.8.0/lib contains(QWT_CONFIG, QwtFramework) { LIBS += -F../../libsrc/Qwt/qwt-6.0.1-win-Qt-4.8.0/lib } else { LIBS += -L../../libsrc/Qwt/qwt-6.0.1-win-Qt-4.8.0/lib } IPATH = ../../libsrc/Qwt/qwt-6.0.1-win-Qt-4.8.0/src warning(Using MinGW compiler) } else { INCLUDEPATH += ../../libsrc/Qwt/qwt-6.0.1-win-Qt-4.8.0-intel-shared/src DEPENDPATH += ../../libsrc/Qwt/qwt-6.0.1-win-Qt-4.8.0-intel-shared/src QMAKE_RPATHDIR *= ../../libsrc/Qwt/qwt-6.0.1-win-Qt-4.8.0-intel-shared/lib contains(QWT_CONFIG, QwtFramework) { LIBS += -F../../libsrc/Qwt/qwt-6.0.1-win-Qt-4.8.0-intel-shared/lib } else { LIBS += -L../../libsrc/Qwt/qwt-6.0.1-win-Qt-4.8.0-intel-shared/lib } IPATH = ../../libsrc/Qwt/qwt-6.0.1-win-Qt-4.8.0-intel-shared/src warning(Using Intel compiler) }

无论我为变量MY_COMPILER定义什么,它都会保持第一个条件,同时通过第3行的警告发布我输入的正确变量。

如何发布变量然后检查它是否已定义?

任何努力都受到高度赞赏。

感谢。

1 个答案:

答案 0 :(得分:1)

我认为您的代码没有任何问题,但您可以尝试这种方式:

CONFIG += mingw

mingw {
    //...
} else {
    //...
}

编辑:

你可以尝试的另一件事是在同一行中有条件和开口花括号, 如果我没记错的话,这在过去会引起一些问题。

然后声明如下:

contains(MY_COMPILER, mingw) {
     //...
} else {
     //...
}