qmake: не удалось найти установку Qt ''


136

У меня есть программное обеспечение в Ubuntu, которое требует от меня запуска qmake для генерации Makefile.

Тем не менее, запуск qmake возвращает эту ошибку,

qmake: could not find a Qt installation of ''

Я установил требуемые пакеты, используя

sudo apt-get install qt4-qmake
sudo apt-get install qt5-qmake

Но ошибка не исчезла.

Любая помощь в этом будет с благодарностью!


6
Попробуйте запустить sudo apt-get install qtcreator. Устанавливает полный Qt SDK + IDE. Следует добавить все, что вам нужно.
sashoalm

Привет @sashoalm, большое спасибо, кажется, у меня пропали другие пакеты. Сейчас работает: D
Любопытно

6
Это не хорошее решение, поскольку оно установит много потенциально ненужных пакетов.
Скон

Ответы:


177

sudo apt-get install qt5-default работает для меня.

$ aptitude show qt5-default
говорит, что

Этот пакет устанавливает Qt 5 как версию Qt по умолчанию, которая будет использоваться при использовании бинарных файлов разработки, таких как qmake. Он предоставляет конфигурацию по умолчанию для qtchooser, но не препятствует использованию альтернативных установок Qt.


1
Можете ли вы описать ваше решение больше?
user35443 15.09.13

3
принятый ответ не является ответом вообще. Этот должен быть принятым ответом.
thias

Следующее устанавливает для меня полную установку разработки qt5: apt-get install qt5base-dev qtdeclarative5-dev qt5-qmake qt5-default qttools5-dev-tools А затем проверьте с помощью: qtchooser -print-env
Salil

29

Вы можете проверить путь к qmake, используя which qmake.

Рассмотрите вариант установки qt4-defaultили qt5-defaultзависит от того, какую версию qt вы хотите использовать.

Вы также можете использовать qtchooser - оболочку, используемую для выбора между двоичными версиями разработки Qt.


2
Привет @ Warthel4578, спасибо, твой ответ мне помог косвенно, так как я установил qt4-qmake, я должен был вызвать 'qt4-qmake' вместо 'qmake' (я нашел их обоих в пути к каталогу). Теперь это работает :)
Любопытно

Спасибо Warthel, это помогло мне понять, почему мой qmake не работал. QMAKE на Ubuntu 14.04 был слинкован в qtchooser
SCONE

Я получил этот SO-ответ, а затем обнаружил, основываясь на следующей ошибке ( no qtwebkit installation found), которую мне также пришлось запустить, apt-get install qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-xкак описано на вики-странице Thoughtbot Github
sameers


8

Как сопровождающий Debian Qt, позвольте мне предложить вам не использовать qtx-default. Пожалуйста, прочитайте справочную страницу qtchooser, решение там описано. Если вы заинтересованы в упаковке приложения, вы также можете взглянуть на этот пост в блоге, который я объяснял, как это сделать.


5
Не могли бы вы объяснить, почему мы не должны использовать qtx-default, пожалуйста? Man-страница qtchooser помогает мне понять, что происходит, но я не понимаю, почему проблема с поставкой пакетов по умолчанию.
Роби Басак

2
Было бы хорошо, если бы qmake-qtX был связан с соответствующей версией qt. Вытащить эти кусочки немного громоздко.
Xofo

@RobieBasak уверен: допустим, вы установили qt5-default. Затем вы запускаете приложение qt4, которое вызывает qdbus. Вы получаете qtbus qt5, который должен работать, но это не гарантируется.
Лисандро

1
Конечно, это ошибка в том, как приложение qt4 вызывает qdbus, или в среде, в которой было запущено приложение qt4, вместо того, чтобы выбрать вариант qt5 по умолчанию из моего CLI?
Роби

Первое: возможно, qdbus был плохим примером. Допустим, апстрим решил не переименовывать базовые инструменты Qt с изменением от 4 до 5. Таким образом, невозможно заранее узнать, какая версия приложения будет работать, за исключением того, что у вас есть qtchooser в середине. Но qtchooser, даже если это хорошая попытка, не справляется с некоторыми задачами, по крайней мере, в мире дистрибутивов. В идеале каждое приложение должно быть отозвано после основной версии, либо должна быть сохранена совместимость.
Лисандро

8

У меня была проблема с сборкой драгоценного камня Ruby от jasmine-headless-webkit. Несмотря на то, что установлен qt4, qmake(символическая ссылка на qtchooser) настаивала, что не знает об установке QT. OTOH, он был в состоянии перечислить qt4, когда его спросили напрямую.

Это сделало все лучше:

export QT_SELECT=qt4

Затем qtchooser знал, что нужно использовать qmake-qt4 и так далее.


Отлично! У меня была такая же проблема при попытке установить qBittorrent, и моя была решена с export QT_QMAKE=/usr/bin. Никогда не знаешь, когда эти переменные среды вернутся к тебе!
Алекс Райан

4

Найдите где qmake-qt4 :

which qmake-qt4

Например, qmake-qt4 находится по этому пути:

/usr/bin/qmake-qt4

Создать символическую ссылку:

cd /usr/local/sbin/
ln -s /usr/bin/qmake-qt4 .
mv qmake-qt4 qmake

С уважением


Это отличное решение, когда вы просто хотите qmakeи не хотите полноценной среды qt.
Том Салеба

1

У меня установлен qt4. Я обнаружил, что использование следующего пути работает для меня, несмотря на то, что «qmake» возвращает / usr / bin / qmake, который в любом случае является просто ссылкой на qtchooser.

Следующий путь работает для меня в 64-битной системе. Бег от полного пути:

/usr/lib/x86_64-linux-gnu/qt4/bin/qmake

Из всех ответов это на самом деле единственный, который работал удаленно. За исключением того, что мне нужно было использовать /usr/lib/x86_64-linux-gnu/qt5/bin/qmake.
Акито

0

Символическая ссылка на желаемую версию, определенную глобально:

sudo ln -s /usr/bin/qmake-qt5 /usr/bin/qmake

... или на пользователя:

sudo ln -s /usr/bin/qmake-qt5 /home/USERNAME/.local/bin/qmake

... чтобы увидеть, работает ли это:

qmake --version

как насчет добавления комментария, почему этот ответ был отклонен? неспособность понять или применить решение не совсем подходит для обоснованной причины ... хотя я вполне уверен, что оно работает, потому что оно у меня работает именно так.
Мартин Цайтлер

1
Подбросьте свой голос, потому что я не являюсь apt-get tard, и я на самом деле строю из источника, и этот ответ по символической ссылке был близок к тому, чтобы подтолкнуть меня на ходу, потому что я забыл, что у меня есть псевдоним qmake. Спасибо.
Пока-Е

0

Для моего Qt 5.7 откройте QtCreator, перейдите в Инструменты -> Параметры -> Построить и запустить -> Версии Qt, где я указал местоположение qmake.


0

если помощник запускается из терминала напрямую, он будет использовать путь по умолчанию, обычно это / usr / bin / assistant. У меня была похожая ситуация, чтобы заставить ее работать, все, что мне нужно было сделать, это найти фактическую установку моего пути к установочному бину qt, например, xxx / Qt5.13.2 / 5.13.2 / gcc_64 / bin /, типа xxx / Qt5.13.2 /5.13.2/gcc_64/bin/assisstant прямо из терминала

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.