2012-03-27 14 views
1

In diesem Qmake Code:Qmake erkennt keine Variablen richtig

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) }

Was ich für die Variable MY_COMPILER definieren, hält es die erste Bedingung nehmen, während sie an der Linie durch die Warnung postet 3 die richtige Variable, die ich eingegeben habe.

Wie kann ich eine Variable posten und dann prüfen, ob sie definiert ist?

Alle Bemühungen werden sehr geschätzt.

Danke.

+0

'enthält ($$ MY_COMPILER "mingw")' vielleicht? – AJG85

+0

Hat nicht funktioniert :(, aber trotzdem danke. – Sam

+0

Ich denke, das Symbol $$ sind auf den Wert zu bekommen, so sollte es etwas im Grunde so sein. Normalerweise verwende ich andere Make-Dateien für verschiedene Compiler wie benötigt. – AJG85

Antwort

1

ich nichts falsch mit Ihrem Code sehen, aber man könnte es auf diese Weise versuchen, stattdessen:

CONFIG += mingw 

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

EDIT:

Eine andere Sache, die Sie könnten versuchen, ist die Bedingung hat und geschweifte Klammer in der gleichen Zeile, Wenn ich mich recht erinnere, verursachte das einige Probleme in der Vergangenheit.

Dann würde die Anweisung wie folgt aussehen:

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

Dies führt zu Konflikten mit anderen Sachen.Ich würde nicht wollen mit config Variablen verwirren.Wenn ich es verwendet, gab es mir Probleme mit Ressourcen-Dateien (ich versuchte sogar Variablennamen ändern, aber keine Verwendung) .Es ist wirklich seltsam ...! – Sam

+0

Ich fügte ein anderes hinzu Vorschlag könnte man versuchen ... – niktehpui