qmake и переменные |
Здравствуйте, гость ( Вход | Регистрация )
qmake и переменные |
SABROG |
3.2.2009, 15:36
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Поправьте меня если я буду не прав, но почитав документацию я узнал следующее.
MyVar = test #определяем свою переменную DEFINES = $${MyVar} и DEFINES = $$MyVar Синонимы. В данном случае двойной доллар ($$) означает операцию взятия содержимого из переменной на этапе обработки .pro файла (qmake) и запихивания её в DEFINES. В makefile.release или makefile.debug затем можно будет наблюдать такое:
Есть еще вариант с одинарным долларом: MyVar = $QTDIR и MyVar = $(QTDIR) Синонимы. Тут одинарный доллар ($) означает заполнение переменной непосредственно при компиляции makefile.release или makefile.debug. Т.е. qmake я мог сделать год назад, а переменную надо брать из окружения (environment) при компиляции. Отсюда возникает несколько другой вопрос. Ну вот создал я перменную MyVar в .pro файле, присвоил ей некоторое значение. А как эту переменную экспортировать в makefile, таким образом, чтобы в нем получилось нечто такое:
Я пытался это сделать. Но переменная туда не попадает вообще никак. Выходит я не могу повлиять на выходящий makefile? Добавить свои команды запуска других утилит, выставлять переменные и т.п. именно на этапе компиляции, а не во время запуска qmake? |
|
|
SABROG |
3.2.2009, 17:57
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Нет Не совсем синонимы: Так синонимы и получаются. Посмотри на результаты 3 и 7, они идентичны. А то, что добавляются, так они и так добавляются, вот тест:
Результат PWD с фигурными скобками понятно почему, т.к. PWD это не переменная qmake. А вот в круглых скобках правильный, т.к. они говорят взять переменную из окружения. Кстати в win2000 нет переменной PWD. С квадратными скобками тоже ясно - в квадратные берутся названия настроек qmake, а среди них нет настройки с именем PWD. однако запись: DESTDIR = $(PUPKIN) игнорируется, т.к. такой переменной окружения нет, подробности надо искать в исходниках qmake В том то и дело, хотелось бы, чтобы эта переменная динамически заводилась в makefile'е с нужным значением. kwisp, это стандартные ключи makefile'а, которые относятся к компилятору. Просто тролли их позаимстовали, тут нет чуда Сообщение отредактировал SABROG - 3.2.2009, 18:00 |
|
|
kwisp |
3.2.2009, 18:05
Сообщение
#3
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Цитата kwisp, это стандартные ключи makefile'а, которые относятся к компилятору. Просто тролли их позаимстовали, тут нет чуда понятно что чуда нет. я про то что поразному себя ведет qmake. а на счет синонимов прав твой аппонент т.к.
очевидно что не сработает. скобочки нужны точно для того же что и скобочки в работе с переменными в юниксе. чтобы отделить имя переменной от последующего текста. |
|
|
Текстовая версия | Сейчас: 23.11.2024, 5:56 |