Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выбор версии йе из установленных 
:(
    Опции темы
aikidzin
Дата 26.2.2011, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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, но как? подскажите пожалуйста

PM MAIL   Вверх
bsa
Дата 26.2.2011, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



aikidzin, следует отказаться от использования qmake в пользу CMake.
PM   Вверх
aikidzin
Дата 27.2.2011, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



К сожалению проект большой, сборка некоторых модулей уже написана специально для QT. Поэтому нужно искать решение под qmake. 
PM MAIL   Вверх
bsa
Дата 27.2.2011, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



aikidzin, тогда введи еще одну переменную, которую можно задавать из командной строки для ручного выбора версии Qt.

Хотя, проще использовать qmake от нужной тебе версии Qt.
PM   Вверх
aikidzin
Дата 27.2.2011, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



На моей машине в usr/bin/
находятся qmake-qt3, qmake-qt4 и символическая ссылка qmake на qmake-qt3
На всех ли линукс-машинах файлы называются так?

PM MAIL   Вверх
maint
Дата 27.2.2011, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 12.5.2008

Репутация: нет
Всего: 2



в федоре 14 вроде так. Надо посматривать на машинах командой 
Код

env | grep QT

переменные среды точно укажут, на что заточена система
PM   Вверх
bsa
Дата 27.2.2011, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



aikidzin, существует переменная QMAKE, указывающая путь к запущенному qmake. Ведь тебе необходимо собирать на одной машине и для Qt3, и для Qt4. Поэтому совершенно не важно, где у тебя Qt фактически находится. Главное сгенерировать Makefile используя qmake от нужной версии Qt.

Добавлено через 3 минуты и 10 секунд
maint, у меня на ubuntu QTDIR не установлена. Возможно, потому что устанавливалось вручную (configure,make, make install)
PM   Вверх
maint
Дата 27.2.2011, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 12.5.2008

Репутация: нет
Всего: 2



Цитата

maint, у меня на ubuntu QTDIR не установлена. Возможно, потому что устанавливалось вручную (configure,make, make install) 

по моему, эти переменные среды, в системный профайл и шаблоны сборщики дистрибутива суют. В редхаде так. Действительно, не слишком показатель.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0863 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.