2014-10-09 6 views
5

Я пытаюсь установить kde-connect после this. Хотя моя версия kubuntu составляет 14.04, я хотел скомпилировать их, чтобы иметь последнюю версию. Но когда я выполнил инструкции по компиляции, я получил следующую ошибку.Can not cmake kde-connect

-- Found Qt-Version 5.2.1 (using /usr/bin/qmake) 
CMake Error: The following variables are used in this project, but they are set to NOTFOUND. 
Please set them or make sure they are set and tested correctly in the CMake files: 
QT_QT_INCLUDE_DIR 
    used as include directory in directory /home/vinaychandra/Downloads/t/CMakeFiles/CMakeTmp 

CMake Error: Internal CMake error, TryCompile configure of cmake failed 

CMake Error at /usr/share/kde4/apps/cmake/modules/FindKDE4Internal.cmake:1311 (message): 
    Unable to compile a basic Qt application. Qt has not been found correctly. 
Call Stack (most recent call first): 
    /usr/share/cmake-2.8/Modules/FindKDE4.cmake:95 (find_package) 
    CMakeLists.txt:7 (find_package) 

Просьба указать, как исправить это.

Я попытался дать -DQT_QT_INCLUDE_DIR=/usr/share/qt4/ то он говорит, что You must build your code with position independent code if Qt was built with -reduce-relocations.

+0

Насколько интересны преимущества, которые являются преимуществом более новых версий? Я тоже использую KDE-connect, установленный из программных средств ubuntu, и я очень доволен этим инструментом. – PEAR

+0

В последней версии есть больше возможностей (0.7.2) по сравнению с доступными в репозиториях Ubuntu (0,5) –

+0

. Здесь же проблема, я попытался установить такую ​​же ошибку. Я не могу вам помочь, извините. Но ответ, возможно, стоит знать ... – PEAR

ответ

7

Ваш cmake по умолчанию использует другую версию QT. Итак, вы должны прямо сказать ему, какую версию QT он должен использовать для этой работы.

Это один

-DQT_QT_INCLUDE_DIR=/usr/share/qt4/ 

неправильно, потому что вы не должны давать QT позиции явно. Все, что вам нужно, это использовать правый qmake. Итак, дайте этот флаг, и вы будете счастливы!

-DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4 
+0

Не забудьте удалить все файлы из каталога сборки, прежде чем снова запустить команду, иначе это не сработает, так как CMakeCache.txt уже сгенерирован. – infoclogged

+0

@ infoclogged Разве это не очевидно? – Zhigalin

0

К сожалению, цитируемая документация отстает от текущего состояния kdeconnect. Я столкнулся с подобными проблемами, но мне удалось их решить, установив следующие необходимые пакеты из репозиториев Kubuntu:

sshfs 
libfakekey-dev 
libxtst-dev 
libqca2-dev 
libqjson-dev 

Я доверяю это все из них. Я установил kdeconnect из последнего коммита git и, похоже, работает нормально.

+0

Нет. Повторялась такая же ошибка –

1

Поскольку большинство приложений kde не портированы на Qt5, вам необходимо Qt4.x для построения kdeconnect (не знаю x, мое - 4.8.6). Также установщик Qt4 недоступен (я думаю!), Поэтому вам нужно его также построить из источника. Построение Qt4 довольно просто, просто загрузите источник и запустите обычные команды.

После его создания это имя qmake будет qmake-qt4 в/usr/bin. Итак, для построения kdeconnect сначала запустите его cmake, затем сформируется файл Cmaketextcache.txt. В этом изменении путь qmake (т. Е. Где-то записанный/usr/bin/qmake в/usr/bin/qmake-qt4), а также путь qt включают dir в (я думаю/usr/include/qt5 в/usr/include/qt4) и снова запустить cmake.

Если некоторые пакеты отсутствуют, вам необходимо его установить. Но с вышеуказанными изменениями вы получите файл make для его установки.

0

Этот ответ приходит немного поздно, но это первый результат поиска Google для вопроса. В системах с qtchooser (Kubuntu, Ubuntu, по крайней мере), это может быть исправлено, запустив первый:

export QT_SELECT=qt4 

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

qmake --version