qmlscene не удалось найти установку Qt

Вопрос или проблема

Я запускаю это в папке с main.qml
qmlscene main.qml
qmlscene: не удалось найти установку Qt ”

Затем я проверил

qtchooser -list-versions
4
5
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5

и попробовал

sudo qmlscene -qt=qt5-x86_64_linux-gnu main.qml
qmlscene: не удалось найти установку Qt 'qt5-x86_64_linux-gnu'

Мне не удалось запустить qmlscene на новой системе Ubuntu 22.04 jammy недавно.

Сначала я столкнулся с этой ошибкой:

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

Затем после серии команд apt я устранил эту ошибку, но наткнулся на еще более длинную:

плагин не может быть загружен для модуля "QtQuick.Controls": Не удается защитить модуль QtQuick.Controls 2, так как он никогда не был зарегистрирован

Установленные пакеты apt были:

qtbase5-dev
qtchooser
qt5-qmake
qtbase5-dev-tools
qtcreator

Когда я использовал which, чтобы узнать, откуда запускается qmlscene, я увидел, что это символическая ссылка на утилиту qtchooser:

ls -l /usr/bin/qmlscene
lrwxrwxrwx 1 root root 9 Mar 22  2020 /usr/bin/qmlscene -> qtchooser

В конечном итоге я нашел решение, которое работает для меня (на Ubuntu 22.04 jammy, как я упоминал).

Мне пришлось отредактировать /usr/share/qtchooser/qt5-x86_64-linux-gnu.conf, чтобы qtchooser выбирал бинарные файлы Qt5 из специального каталога установки, который я создал сам.

Я установил Qt5 в свой собственный выбранный каталог, используя неофициальный установщик AQT. https://github.com/miurahr/aqtinstall

Вот мой вызов AQT:

python3 -m aqt install-qt --base http://ftp.fau.de/qtproject --outputdir /opt/repositories/Qt_desktop linux desktop 5.15.0 --archives icu qtbase qtconnectivity qtdeclarative qtgraphicaleffects qtimageformats qtquickcontrols qtquickcontrols2 qtsvg qttools

(Я также записал это здесь: https://github.com/219-design/qt-qml-project-template-with-ci/blob/master/tools/ci/get_qt_libs.sh )

Вот новое содержание /usr/share/qtchooser/qt5-x86_64-linux-gnu.conf:

/opt/repositories/Qt_desktop/5.15.0/gcc_64/bin
/opt/repositories/Qt_desktop/5.15.0/gcc_64/lib
#/usr/lib/qt5/bin
#/usr/lib/x86_64-linux-gnu

.

Ответ или решение

Решение проблемы: Ошибка qmlscene не может найти установку Qt

Если вы столкнулись с ошибкой qmlscene: could not find a Qt installation of '' при попытке запустить qmlscene на системе Ubuntu 22.04, это может быть связано с неправильной настройкой окружения или отсутствием необходимой версии Qt. Давайте рассмотрим возможные причины и пути решения данной проблемы, основываясь на вашем случае.

1. Проверка установленных версий Qt

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

qtchooser -list-versions

Это выводит список доступных версий Qt, и в вашем случае видно, что есть версии qt4 и qt5:

4
5
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5

2. Установка qmlscene и его зависимостей

Убедитесь, что у вас установлены все необходимые пакеты для работы с Qt5. Вы упомянули, что установлены следующие пакеты:

qtbase5-dev
qtchooser
qt5-qmake
qtbase5-dev-tools
qtcreator

Если какие-то пакеты отсутствуют, вам нужно установить их с помощью следующей команды:

sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qtcreator

3. Использование qtchooser для выбора версии Qt

Команда qmlscene является символической ссылкой на qtchooser, что означает, что он будет использовать версию Qt, которую вы указали в настройках qtchooser. Однако, как вы обнаружили, использование:

sudo qmlscene -qt=qt5-x86_64_linux-gnu main.qml

выдает ошибку qmlscene: could not find a Qt installation of 'qt5-x86_64_linux-gnu'. Это означает, что qtchooser не может найти необходимые бинарные файлы для выполнения этой команды.

4. Работа с конфигурацией qtchooser

Решением проблемы может стать редактирование файла конфигурации, чтобы qtchooser указывал на вашу собственную директорию установки Qt. Как вы уже сделали, вы можете отредактировать файл:

/usr/share/qtchooser/qt5-x86_64-linux-gnu.conf

И заменить содержимое на:

/opt/repositories/Qt_desktop/5.15.0/gcc_64/bin
/opt/repositories/Qt_desktop/5.15.0/gcc_64/lib
#/usr/lib/qt5/bin
#/usr/lib/x86_64-linux-gnu

Это направит qtchooser на использование вашей установленной версии Qt 5.15.0, которую вы установили с помощью AQT (https://github.com/miurahr/aqtinstall).

5. Проверка среды выполнения

После внесения изменений обязательно выполните команду:

qtchooser -print-env

Это должно показать, что переменные среды QTDIR и PATH указывают на вашу установленную версию Qt. Убедитесь, что все настройки корректны.

6. Тестирование

Теперь попробуйте снова запустить вашу QML-программу с помощью qmlscene:

qmlscene main.qml

Если все настройки выполнены правильно, программа должна запуститься без ошибок.

Заключение

Таким образом, проблема с ошибкой qmlscene: could not find a Qt installation of '' может быть решена путем правильной настройки qtchooser и указания на вашу установленную версию Qt. Не стесняйтесь обращаться за дополнительной помощью, если потребуется, и удачи в вашем проекте с Qt!

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

Капча загружается...