Название: define in *.pro Отправлено: Radmir от Июль 31, 2014, 17:37 Поделитесь уважаемые, как задать в *.pro переменную типа define для debug версии проекта и не задать для релиза. Я замучился, как ни задам, либо в обоих есть переменная, либо в обоих нет.
Радмир Название: Re: define in *.pro Отправлено: gil9red от Июль 31, 2014, 18:24 Судя по доке: http://qt-project.org/doc/qt-4.8/qmake-tutorial.html
Код: debug { Аналогично условие ставится и для релиза :) UPDATE. А тут показано как дефайны свои делать: http://stackoverflow.com/questions/3348711/add-a-define-to-qmake-with-a-value Название: Re: define in *.pro Отправлено: Radmir от Июль 31, 2014, 18:35 Судя по доке: http://qt-project.org/doc/qt-4.8/qmake-tutorial.html Код: debug { Аналогично условие ставится и для релиза :) UPDATE. А тут показано как дефайны свои делать: http://stackoverflow.com/questions/3348711/add-a-define-to-qmake-with-a-value Вы не поняли вопрос: Я хочу задать переменную, (типа как в программе мы пишем #define Pi) для конфигурации debug и не задавать для конфигурации release. В проекте мне не удалось, пришлось в программе задать: #ifdef QT_NO_DEBUG #define Pi #endif Как видите, чайник предполагает, а Qt располагает... Радмир Название: Re: define in *.pro Отправлено: gil9red от Июль 31, 2014, 18:56 Судя по доке: http://qt-project.org/doc/qt-4.8/qmake-tutorial.html Код: debug { Аналогично условие ставится и для релиза :) UPDATE. А тут показано как дефайны свои делать: http://stackoverflow.com/questions/3348711/add-a-define-to-qmake-with-a-value Вы не поняли вопрос: Я хочу задать переменную, (типа как в программе мы пишем #define Pi) для конфигурации debug и не задавать для конфигурации release. В проекте мне не удалось, пришлось в программе задать: #ifdef QT_NO_DEBUG #define Pi #endif Как видите, чайник предполагает, а Qt располагает... Радмир Я вам описал как писать условия в pro файле на примере debug, а в ссылке показано как пользовательские дефайны в pro описывать, соедините вместе и получите что хотели Название: Re: define in *.pro Отправлено: kambala от Июль 31, 2014, 23:07 debug: DEFINES += MYDEFINE
Название: Re: define in *.pro Отправлено: Radmir от Август 01, 2014, 06:27 debug: DEFINES += MYDEFINE А я вам написал, что если одну и туже переменную задать в строчке debug: DEFINES += MYDEFINE в строчке release, release: DEFINES -= MYDEFINE то в обоих makefile-ах будут обе переменные, :-\ Радмир Название: Re: define in *.pro Отправлено: kambala от Август 01, 2014, 11:32 release: DEFINES -= MYDEFINE — зачем это вообще писать? debug: DEFINES += MYDEFINE задаст MYDEFINE только для дебага
Название: Re: define in *.pro Отправлено: Radmir от Август 01, 2014, 17:51 debug: DEFINES += MYDEFINE Я не знаю, почему вы не принимаете, то что я пишу: я говорю, что определить переменную для одного релиза или дибага невозможно.Вот строка из мейкфайла дибаг DEFINES = -DQUAZIP_BUILD -DMYDEFINE -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED и строка из мейкфайла релиз DEFINES = -DQUAZIP_BUILD -DMYDEFINE -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED Как видите опция -DMYDEFINE есть в обоих мейках! Прошу больше не дискутировать, просто считайте вопрос закрытым, или пишите в личку. Радмир. Название: Re: define in *.pro Отправлено: kambala от Август 04, 2014, 15:53 Судя по доке: http://qt-project.org/doc/qt-4.8/qmake-tutorial.html вот поверил на слово человеку, а кода под рукой не оказалось.Код: debug { правильно так: Код: CONFIG(release, debug|release): IS_RELEASE_BUILD = 1 Название: Re: define in *.pro Отправлено: __Heaven__ от Август 04, 2014, 16:09 Действительно, а почему первый вариант не работает? Я тоже в коде прописал - убедился.
В чём дело? Название: Re: define in *.pro Отправлено: kambala от Август 04, 2014, 16:42 потому что debug надо самому добавлять в CONFIG. по ссылке: CONFIG += qt debug
Название: Re: define in *.pro Отправлено: __Heaven__ от Август 04, 2014, 16:53 Быть маркером - это его основное назначение.
Название: Re: define in *.pro Отправлено: Alex Custov от Август 04, 2014, 17:58 я проверил у себя под виндой с официальной сборкой Qt (которая debug-and-release). Оказывается, при любом типе сборке проекта в CONFIG будут строки debug, release, и debug_and_release.
Название: Re: define in *.pro Отправлено: kambala от Август 04, 2014, 20:54 |