![]() |
|
![]() ![]() ![]() |
|
aikidzin |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.3.2007 Репутация: нет Всего: нет |
Добрый день. столкнулся с проблемой определения версии qt под Линукс.
Нужно в профайле определить под каким qt собирается проект, и собрать соответствующие папки. перед вызовом профайла устанавливается переменная окружения QTDIR. Проблема состоит в том, что не на всех линукс QTDIR принимает именно это значение /usr/share/qt* профайл содержит TEMPLATE = subdirs ver=$$(QTDIR) contains(ver, /usr/share/qt3){ SUBDIRS = demo1 demo2 } else { SUBDIRS = demo3 demo4 } Пробовал так, ver = $$[QT_MAJOR_VERSION] count($$ver,3){ SUBDIRS = demo1 demo2 } else { SUBDIRS = demo3 demo4 } но если стоит одновременно и qt3 и qt4, то собирается всегда qt4. а как сделать так, чтобы можно было выбрать qt3? я так полагаю, что нужно делать с использованием переменных qmake, но как? подскажите пожалуйста |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
aikidzin, следует отказаться от использования qmake в пользу CMake.
|
|||
|
||||
aikidzin |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.3.2007 Репутация: нет Всего: нет |
К сожалению проект большой, сборка некоторых модулей уже написана специально для QT. Поэтому нужно искать решение под qmake.
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
aikidzin, тогда введи еще одну переменную, которую можно задавать из командной строки для ручного выбора версии Qt.
Хотя, проще использовать qmake от нужной тебе версии Qt. |
|||
|
||||
aikidzin |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.3.2007 Репутация: нет Всего: нет |
На моей машине в usr/bin/
находятся qmake-qt3, qmake-qt4 и символическая ссылка qmake на qmake-qt3 На всех ли линукс-машинах файлы называются так? |
|||
|
||||
maint |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 12.5.2008 Репутация: нет Всего: 2 |
в федоре 14 вроде так. Надо посматривать на машинах командой
переменные среды точно укажут, на что заточена система |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
aikidzin, существует переменная QMAKE, указывающая путь к запущенному qmake. Ведь тебе необходимо собирать на одной машине и для Qt3, и для Qt4. Поэтому совершенно не важно, где у тебя Qt фактически находится. Главное сгенерировать Makefile используя qmake от нужной версии Qt.
Добавлено через 3 минуты и 10 секунд maint, у меня на ubuntu QTDIR не установлена. Возможно, потому что устанавливалось вручную (configure,make, make install) |
|||
|
||||
maint |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 12.5.2008 Репутация: нет Всего: 2 |
по моему, эти переменные среды, в системный профайл и шаблоны сборщики дистрибутива суют. В редхаде так. Действительно, не слишком показатель. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |