Автор Тема: Необходимо откомпилировать прогу на QT  (Прочитано 4811 раз)

Оффлайн neb

  • Начинающий
  • *
  • Сообщений: 6
Подскажите, какие пакеты необходимо установить, чтобы открыть и откомпилировать проект сделанный на QT. Я конечно интуитивно установил почти все пакеты с именем *QT*, но с помощью установленного ПО смог открыть только .ui формы.

Оффлайн Vovka-Korovka

  • alt linux team
  • ***
  • Сообщений: 1 186
  • True Metal Cow
    • Email
А какая система сборки используется? qmake, cmake, autotools ? Нет ли в проекте readme файла, в котором описывается процесс сборки? Посмотрите, какие файлы в корневой директории проекта. Если увидите файл с расширением .pro - то нужен qmake, если же будет CMakeLists.txt - то cmake, если ./configure, то autotools. В зависимости от системы сборки - разные действия.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 932
    • Домашняя страница
    • Email
Подскажите, какие пакеты необходимо установить, чтобы открыть и откомпилировать проект сделанный на QT.
А зачем его открывать, можно собрать и так.

Открыть в IDE: qt-creator
Собрать: qt4-devel
Андрей Черепанов (cas@)

Оффлайн neb

  • Начинающий
  • *
  • Сообщений: 6
Если увидите файл с расширением .pro - то нужен qmake
Именно .pro, но вот qmake среди пакетов не нашел, хотя выбрал все репозитории, какие присутствовали в системе.

А зачем его открывать, можно собрать и так.
Открыть в IDE: qt-creator
Собрать: qt4-devel
Просто собрать вполне бы устроило!
Хотелось бы знать в каком направлении двигаться. qt4-devel установлен, но нигде в главном меню никаких ярлыков не появилось. поиски по диску *qt*dev* ничего не дали.
Предполагаю, что можно просто из консоли откомпилировать, подскажите какую команду набрать.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 932
    • Домашняя страница
    • Email
Именно .pro, но вот qmake среди пакетов не нашел, хотя выбрал все репозитории, какие присутствовали в системе.
Они отличаются для третьей и четвёртой версий Qt:
/usr/bin/qmake-qt3 libqt3-devel
/usr/bin/qmake-qt4 libqt4-devel
/usr/lib/qt3/bin/qmake libqt3-devel
/usr/lib/qt4/bin/qmake libqt4-devel

Цитировать
Хотелось бы знать в каком направлении двигаться. qt4-devel установлен, но нигде в главном меню никаких ярлыков не появилось. поиски по диску *qt*dev* ничего не дали.
Предполагаю, что можно просто из консоли откомпилировать, подскажите какую команду набрать.
qmake-qt4
make

Естественно, пакет libqt4-devel должен быть установлен.
Андрей Черепанов (cas@)

Оффлайн neb

  • Начинающий
  • *
  • Сообщений: 6
qmake-qt4
make
благодарю за помощь. makefile создался.
При попытке собрать командой make выдает ошибку
make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSql -I/usr/include/qt4 -I. -I. -o main.o main.cpp
make: g++: Команда не найдена
make: *** [main.o] Ошибка 127

PS. на всякий случай сам проект
« Последнее редактирование: 29.06.2012 07:05:35 от neb »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 932
    • Домашняя страница
    • Email
make: g++: Команда не найдена
Для сборки проектов qt нужно ещё gcc-c++
Андрей Черепанов (cas@)

Оффлайн neb

  • Начинающий
  • *
  • Сообщений: 6
Всех благодарю за помощь.
Проект откомпилировал, уже все работает.
Перехожу на slinux !!!

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 932
    • Домашняя страница
    • Email
Тогда, пожалуйста, добавьте в тему своего первого сообщения в этой теме слово
[решено]
Андрей Черепанов (cas@)

Оффлайн aol_nnov

  • Начинающий
  • *
  • Сообщений: 5
вопрос по схожей тематике:

не подскажете, как правильнее проект на Qt оформить в виде пакета? рекомендаций в вики, увы не нашел..
интересует, в том числе, автоматизация создания строчек Requires и BuildRequires на основании содержимого .pro-файла
« Последнее редактирование: 13.07.2012 16:50:43 от aol_nnov »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 932
    • Домашняя страница
    • Email
не подскажете, как правильнее проект на Qt оформить в виде пакета? рекомендаций в вики, увы не нашел..
интересует, в том числе, автоматизация создания строчек Requires и BuildRequires на основании содержимого .pro-файла
http://packages.altlinux.org/en/Sisyphus/srpms/rpminstall/spec
Андрей Черепанов (cas@)

Оффлайн Kemper

  • Завсегдатай
  • *
  • Сообщений: 572
  • Simply Linux
    • Email
Перенесите все это дело в "Разработку".
Alt Linux - Поддержим Российского производителя!

Оффлайн aol_nnov

  • Начинающий
  • *
  • Сообщений: 5
не подскажете, как правильнее проект на Qt оформить в виде пакета? рекомендаций в вики, увы не нашел..
интересует, в том числе, автоматизация создания строчек Requires и BuildRequires на основании содержимого .pro-файла
http://packages.altlinux.org/en/Sisyphus/srpms/rpminstall/spec
спасибо. а тарбол собираете ручками? при вызове make dist для создания тарбола средствами Makefile, который сгенерён qmake-ом, получается %name%version.tar.gz, без тире, а когда собираю пакет, даже если указал Sources0 без тире, получаю + /bin/gzip -dc /usr/src/RPM/SOURCES/ObjectController1.0.0.tar.gz
+ cd ObjectController-1.0.0
/usr/src/tmp/rpm-tmp.33557: line 97: cd: ObjectController-1.0.0: No such file or directory
error: Bad exit status from /usr/src/tmp/rpm-tmp.33557 (%prep)
подскажите, пожалуйста, как либо в спеке прописать, что у меня нет дефиса в имени, либо как qmake уговорить ставить дефис перед версией.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 932
    • Домашняя страница
    • Email
спасибо. а тарбол собираете ручками?
Нет, он собирается автоматически через правила http://www.altlinux.org/Gear.
Правило: .gear/rules
tar.gz: rpminstall
Андрей Черепанов (cas@)

Оффлайн aol_nnov

  • Начинающий
  • *
  • Сообщений: 5
спасибо. а тарбол собираете ручками?
Нет, он собирается автоматически через правила http://www.altlinux.org/Gear.
Правило: .gear/rules
tar.gz: rpminstall

понятно.. у меня нет шестерёнки. у меня есть разработчик, который пишет на qt и при желании получить пакет (в данном случае для альт линукс) из своего творения делает make dist и отдает тарбол другому (пока что человеку) у которого есть спек для сборки и необходисые навыки.

то есть, никак я не могу в спеке указать, что между именем и версией у меня нет дефиса?