Установка QtE5 в Linux, возможные проблемы и их решение

Эта заметка написана системным администратором Виталием Колывановым aka KVetal. Выражаем автору благодарность за интересную статью.

Данный текст и его автор не претендует на истину в последней инстанции, а описывают свой вариант решения данного вопроса.

Начнём с того, что в программировании я не силен, но в определённый момент стал мне интересен язык D, а после и средство реализации графического интерфейса приложения QtE5. Интересу поспособствовало прочтение статьи «QtE5 – изучаем D и Qt-5 в комфортной графической среде», опубликованной в этом блоге.

В процессе изучения возникли некоторые проблемы, а именно: при несоответствии версии Qt5 в моей системе и той версией QtE5, что лежит на Github, приложение может работать не корректно либо просто не работать. При запуске приложения выдается диагностика, что не может загрузится библиотека, или не найдены некоторые функции. Напрашивается выход, просто собрать библиотеку с Вашей версией Qt установленной в данной момент на вашем компьютере.

При активном участии автора QtE5 данные проблемы были решены, и возникла идея описать процесс установки и сборки, дабы сэкономить время другим людям, и возможно избавить автора от необходимости тратить время отвечая на одни и те-же вопросы.

Нам понадобится Qt5 и Qt Creator, я использовал версии 5.5.1 64bit и 3.6.1 64bit соответственно, так же нужен Git, а всё остальное как правило уже есть в большинстве дистрибутивов.

Итак, начнём.

Получение QtE5.

git clone https://github.com/MGWL/QtE5

Переходим в папку с исходными текстами библиотеки

cd QtE5/dll_so/QtE5Widgets

Сборка метод первый, как делал первый раз. Запускаем Qt Creator

Qt-Creator QtE5widgets.pro

видим следующую картину:

n1

Нажимаем «да», открывается окно настройки проекта.

n2

Нажимаем кнопку «управление». Далее необходимо добавить нужный вам сборочный комплект. Кнопка «добавить», после чего вписываем название, и выбираем версию Qt в строке «Профиль Qt», версии компилятора и разрядность, в зависимости от вашей системы и предпочтений, у меня система x86_64, результат настройки видим на экране.

n3

Применяем изменения, нажимаем «OK». Далее выбираем необходимый комплект, и нажимаем кнопку «настроить проект»

n4

Теперь можно собирать проект комбинация клавиш «Ctrl+B» либо кнопка с изображением молотка в левой нижней части приложения. Ну вот, нужная нам версия библиотеки собрана у меня она после сборки находится в папке QtE5/dll_so/build-QtE5widgets-qt5-Debug и носит имя libQtE5Widgets.so.1.0.0, остались формальности. Помним, что на полученный файл нам надо будет сделать ссылку, так как QtE5 будет искать файл с именем libQtE5Widgets64.so

Сборка метод второй, как делаю сейчас.

/usr/lib64/qt5/bin/qmake QtE5widgets.pro -r -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
make

Дело в том, что приложению использующему QtE5 необходимо знать где искать библиотеку libQtE5Widgets64.so либо libQtE5Widgets32.so а у нас на выходе получилась libQtE5Widgets.so.1.0.0, данный вопрос решается несколькими путями.

  • создать ссылку на библиотеку в /usr/lib64(32)
    sudo ln -s <путь до вашей версии библиотеки>/libQtE5Widgets.so.1.0.0 /usr/lib64/libQtE5Widgets64.so
  • Или: создать ссылку с нужным именем в месте расположения библиотеки
    ln -s libQtE5Widgets.so.1.0.0 libQtE5Widgets64.so

    и добавить путь к расположению в переменную LD_LIBRARY_PATH, как это сделать можно посмотреть ТУТ

Вот собственно и всё, теперь можно заняться собственно изучением D и QtE5.
Напоследок хочу посоветовать периодически обновлять и пересобирать библиотеку, поскольку Геннадий Владимирович довольно активно развивает своё детище и добавляет новые компоненты.

Отдельно хочу поблагодарить Мохова Г.В., за создание QtE5 и помощь в локализации проблемы связанной с различием версий.

Добавить комментарий