Название: qt4/qt5 и pro-файл Отправлено: Fregloin от Июль 04, 2013, 11:57 Как разделить секции в про файле, которые отностяся к разным версиям qt?
что то типа Код: if(qt4) Название: Re: qt4/qt5 и pro-файл Отправлено: VPS от Июль 04, 2013, 12:10 Может как-то так:
Код: greaterThan(QT_MAJOR_VERSION, 4) { Название: Re: qt4/qt5 и pro-файл Отправлено: kambala от Июль 04, 2013, 12:25 для удобства можно ввести свою переменную:
Код: greaterThan(QT_MAJOR_VERSION, 4): IS_QT5 = 1 Название: Re: qt4/qt5 и pro-файл Отправлено: Fregloin от Июль 04, 2013, 13:35 Сделал так...
Код: QT += xml network gui Название: Re: qt4/qt5 и pro-файл Отправлено: kambala от Июль 04, 2013, 14:28 почему бы не вынести LIBS += -L$$PWD/../../../build/libs/railcore/debug/ -lrailcore_old вне условий? и там и там ведь встречается.
с else работать не захотело написал видно неправильно. кажется else должен начинаться с новой строки.Название: Re: qt4/qt5 и pro-файл Отправлено: lesav от Июль 04, 2013, 15:53 написал видно неправильно. кажется else должен начинаться с новой строки. Так будет работать Код: greaterThan(QT_MAJOR_VERSION, 4): { А вот эту строку, использую в каждом проекте Код: # Если сборка идет в Qt5 и сборка с GUI добавить модуль widgets Название: Re: qt4/qt5 и pro-файл Отправлено: Alex Custov от Июль 04, 2013, 16:57 с else работать не захотело открывающая скобка должна быть на той же строке что и условие, а else - на той же, где закрывающая. В самом начале дан рабочий пример. Название: Re: qt4/qt5 и pro-файл Отправлено: kambala от Июль 04, 2013, 18:36 Так будет работать двоеточие необходимо только если выражение внутри блока условия лишь одно и нету фигурных скобок либо как аналог else ifКод: greaterThan(QT_MAJOR_VERSION, 4): { а else - на той же, где закрывающая получается у меня неправильный qmake, который позволяет else на новой строке?Название: Re: qt4/qt5 и pro-файл Отправлено: lit-uriy от Июль 04, 2013, 21:01 >>а else - на той же, где закрывающая.
имеется ввиду первая закрывашка (перед else). Название: Re: qt4/qt5 и pro-файл Отправлено: kambala от Июль 04, 2013, 22:04 нигде прямым текстом не сказано, что else обязан находиться на одной строке с } http://qt-project.org/doc/qt-4.8/qmake-advanced-usage.html#scopes-and-conditions говорит только:
Цитировать You can also provide alternative declarations to those within a scope by using an else scope. Each else scope is processed if the conditions for the preceding scopes are false. хотя примеры кода указаны именно в виде } else.qmake вообще хитрая штука. взять хотя бы http://www.qtcentre.org/wiki/index.php?title=Undocumented_qmake |