| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > выбор версии йе из установленных |
| Автор: aikidzin 26.2.2011, 18:58 |
| Добрый день. столкнулся с проблемой определения версии 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 26.2.2011, 20:18 |
| aikidzin, следует отказаться от использования qmake в пользу CMake. |
| Автор: aikidzin 27.2.2011, 07:53 |
| К сожалению проект большой, сборка некоторых модулей уже написана специально для QT. Поэтому нужно искать решение под qmake. |
| Автор: bsa 27.2.2011, 12:49 |
| aikidzin, тогда введи еще одну переменную, которую можно задавать из командной строки для ручного выбора версии Qt. Хотя, проще использовать qmake от нужной тебе версии Qt. |
| Автор: aikidzin 27.2.2011, 14:25 |
| На моей машине в usr/bin/ находятся qmake-qt3, qmake-qt4 и символическая ссылка qmake на qmake-qt3 На всех ли линукс-машинах файлы называются так? |
| Автор: maint 27.2.2011, 16:51 | ||
в федоре 14 вроде так. Надо посматривать на машинах командой
переменные среды точно укажут, на что заточена система |
| Автор: bsa 27.2.2011, 21:17 |
| aikidzin, существует переменная http://doc.qt.nokia.com/4.7/qmake-variable-reference.html#qmake, указывающая путь к запущенному qmake. Ведь тебе необходимо собирать на одной машине и для Qt3, и для Qt4. Поэтому совершенно не важно, где у тебя Qt фактически находится. Главное сгенерировать Makefile используя qmake от нужной версии Qt. Добавлено через 3 минуты и 10 секунд maint, у меня на ubuntu QTDIR не установлена. Возможно, потому что устанавливалось вручную (configure,make, make install) |
| Автор: maint 27.2.2011, 21:33 | ||
по моему, эти переменные среды, в системный профайл и шаблоны сборщики дистрибутива суют. В редхаде так. Действительно, не слишком показатель. |