Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: juvf от Август 28, 2009, 07:45



Название: Как системе сказать про qt?
Отправлено: juvf от Август 28, 2009, 07:45
Установил qt4.5.2 с помощью бинарника qt-sdk-linux-x86-opensource-2009.03.bin в Debian lenny. Указал свой префикс --prefix=/qt
Как теперь указать ...... не знаю даже кому.... системе или менеджеру пакетов, что у меня стоит qt и где она стоит. Проблема в том, что запускаю cmake, а в ответ....
Код:
$ cmake CMakeLists.txt
-- The C compiler identification is GNU
-- Detecting CXX compiler ABI info - done
Current revision: 0
CMake Error at /usr/share/cmake-2.6/Modules/FindQt4.cmake:1421 (MESSAGE):
  Qt qmake not found!
Call Stack (most recent call first):
  CMakeLists.txt:69 (FIND_PACKAGE)


-- Configuring done

Или это просто можно как-то симэйку указать? Но вообще то хотелось бы из любого места запускать qmake, qdemo и т.п. и чтоб запускался нужный qmake. Наверно где-то нужно пути прописать? А вот где?


Название: Re: Как системе сказать про qt?
Отправлено: lit-uriy от Август 28, 2009, 08:26
ну в PATH добавь путь к qmake


Название: Re: Как системе сказать про qt?
Отправлено: Авварон от Август 28, 2009, 08:31
переменная окружения $PATH: править либо в файле $HOME/.bash_profile, либо /etc/profile, либо юзать export (но он вроде до ребута, точно не помню...)
манагеру пакетов тут нипричем
я слишком медленно печатаю, юрий опередил)


Название: Re: Как системе сказать про qt?
Отправлено: kuzulis от Август 28, 2009, 08:33
Цитировать
Установил qt4.5.2 с помощью бинарника qt-sdk-linux-x86-opensource-2009.03.bin в Debian lenny. Указал свой префикс --prefix=/qt
Как теперь указать ...... не знаю даже кому.... системе или менеджеру пакетов, что у меня стоит qt и где она стоит. Проблема в том, что запускаю cmake, а в ответ....
Три способа:
1. Для того чтобы менеджеру пакетов увидел QT можно попробовать из этого бина создать пакет с помощью дебовских механизмов, предварительно распаковав инсталляху. Это если хочется помучаться. Я не знаю как в дебиане обстоят дела со сборкой пакетов.
2. Чтобы запускался qmake и иже с ним и не хочется делать п.1. (но менеджер не будет видеть инсталляху)- то воспользоваться советом lit-uriy
3. Скачать и установить дебовский пакет и не заморачиваться с п.1. и.п.2 . Это самое простое решение! Тем более, думаю в репозиториях он должен быть!  


Название: Re: Как системе сказать про qt?
Отправлено: Авварон от Август 28, 2009, 08:44
1) пакет собрать не проблема, хуже указать зависимоти (а точнее реплейс со стандартным пакетом)
3) в репах ленни (стейбл) 4.4.3... все грустно


Название: Re: Как системе сказать про qt?
Отправлено: Rcus от Август 28, 2009, 08:55
Все дело в том как CMake ищет qmake :)
Код:
FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake qmake4 qmake-qt4 PATHS
  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin"
  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/bin"
  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]/bin"
  $ENV{QTDIR}/bin
)
Вначале он ищет в $PATH, а потом в указанных путях. Кстати с этим связана проблема заставить CMake использовать другую инсталляцию Qt :) (используемый qmake зависит от порядка перечисления путей в $PATH)


Название: Re: Как системе сказать про qt?
Отправлено: juvf от Сентябрь 01, 2009, 16:16
прописал PATH в /etc/profile. Теперь у меня env выдает нормальный path
Код:
name@name$env
...
PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/Trolltech/Qt4-5/qt/bin
...
Но всё равно qmake не работает. Делаю даже так
Код:
name@name:/home$ cd /usr/Trolltech/Qt4-5/qt/bin
name@name:/usr/Trolltech/Qt4-5/qt/bin$ qmake
bash: qmake: команда не найдена
name@name:/usr/Trolltech/Qt4-5/qt/bin$ ./qmake
Usage: ./qmake [mode] [options] [files]

QMake has two modes, one mode for generating project files based on
some heuristics, and the other for generating makefiles. Normally you
shouldn't need to specify a mode, as makefile generation is the default
mode for qmake, but you may use this to test qmake on an existing project

Mode: ///бла бла бла, подсказка qmake-a ....
name@name:/usr/Trolltech/Qt4-5/qt/bin$   

Как же всё таки сделать, чтоб cmake находил qmake? Ставить из репов не очень хочется. репов нет )) Есть инсталятор qt sdk от тролей для Линукса. При установки инсталятор определяет что установка происходит на ос debian lenny. Какие еще репы нужны?
Можно как-нибудь установить qt с помощью инсталятора или собрать из исходников (из исходников для меня более предпочтительно) и чтоб cmake знал где qt.


Название: Re: Как системе сказать про qt?
Отправлено: Пантер от Сентябрь 01, 2009, 16:55
sudo ln -s /usr/Trolltech/Qt4-5/qt/bin/qmake /usr/bin/qmake


Название: Re: Как системе сказать про qt?
Отправлено: juvf от Сентябрь 02, 2009, 06:01
Цитировать
ln -s /usr/Trolltech/Qt4-5/qt/bin/qmake /usr/bin/qmake

Спасибо! То что надо