Подтвердить что ты не робот

CMake не знает, где Qt4 qmake

Я использую ОС Debian, и я пытаюсь указать на cmake, где мой Qt4.

Я пытаюсь создать qjson-библиотеку и ее CMakeLists.txt: http://pastebin.com/fKNp0Qgy

Я получаю:

Qt5 not found, searching for Qt4
qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
CMake Error at /usr/share/cmake-2.8/Modules/FindQt4.cmake:1386 (message):
  Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x
Call Stack (most recent call first):
  CMakeLists.txt:55 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!

Я не знаком с конфигурацией CMake и Qt, но мне любопытно, как настроить CMake FIND_PACKAGE для поиска в '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake' для qmake. Я установил Qt 4.8.5 из исходного кода, и у меня есть папка bin Qt4 в совершенно другом каталоге.

4b9b3361

Ответ 1

Я решил свою проблему.

Поиск QT_SELECT с помощью команды grep Я обнаружил, что QT_SELECT связан с файлом /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf. Из имени файла по умолчанию я предположил, что это то, что рассматривается как QT_SELECT. Другие конфиги, представленные qtchooser -l, находятся в каталогах /usr/share/qtchooser/ и /usr/lib/x86_64-linux-gnu/qtchooser.

Такой конфигурационный файл имеет две строки с путями. Я просто изменил эти строки, сначала указав на мой каталог Qt bin и второй указав на мой каталог Qt lib. Тогда я мог видеть, что qtchooser -print-env показывает QTTOOLDIR и QTLIBDIR для моего Qt.

Тогда я мог бы легко создать qjson-библиотеку с CMake, Qt4 был найден правильно.

Ответ 2

просто попробуйте "sudo apt-get install qt-sdk", он работает для меня

Ответ 3

В моем опыте эту проблему легче всего решить, поставив папку, содержащую qmake, в переменную среды PATH.

Ответ 4

Вот ответы

https://askubuntu.com/questions/540746/ubuntu-14-04-qt5-development-libraries/540757#540757

Кажется

apt-file search Qt5CoreConfig.cmake был тем, чего мне не хватало. Это меня достало:

qtbase5-dev: /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake

Установка, которая, похоже, приведет к обнаружению CMake Qt5. qmake по-прежнему сообщает о той же самой проблеме, когда прямо вызывается, хотя... какой-то остаток из qt4 все еще установлен, кажется...

Что касается проблемы qmake, это фиксируется:

sudo apt-get install qt5-default

Ответ 5

Самое простое решение - добавить ссылку в каталог, в котором драгоценный камень должен найти его. На Ubuntu 14.04 он qmake живет в /usr/bin. Простое решение.

Ответ 6

В моем случае именно qtchooser отсутствовал в настройке по умолчанию. Я понял, что cmake просто выполняет qtchooser и ищет имя файла конфигурации по умолчанию. Вы можете установить любой файл конфигурации, выполнив следующие действия:

qtchooser -install <arbitrary_name> <path_to_qmake>

В моем случае я просто предоставил "default" как произвольное имя... это создало файл default.conf в соответствующих местах, и все хорошо. Я не думаю, что существует ограничение на количество именованных версий qt, которые у вас есть. Если вы сделаете это как root, он должен работать для всех пользователей.

Ответ 7

На моем старом дистрибутиве RHEL это сделало это для меня:

sudo yum install qt-devel.x86_64

Просто qt-base не будет работать с cmake.