|
|||||||
|
Установка Qt 5.15.18 из исходников в Linux
Время создания: 08.02.2026 01:00
Раздел: Компьютер - Программирование - Язык C++ (Си++) - Библиотека Qt - Инсталляция Qt и сборка проектов
Запись: xintrea/mytetra_syncro/master/base/1770501647l8wq3yyzpw/text.html на raw.githubusercontent.com
|
|||||||
|
|
|||||||
|
Установка делалась из файла: qt-everywhere-opensource-src-5.15.18.tar.xz Файл распакован в каталоге: /opt/qt_5_15_18 В результате появился каталог: /opt/qt_5_15_18/qt-everywhere-src-5.15.18 В нем дана команда конфигурирования: ./configure -prefix /opt/qt_5_15_18 -opensource -confirm-license -release -nomake tests В результате сборка сконфигурировалась для последующей компиляции, но было видно что много компонент не будет собрано. Это на системе, на которой лет десять собирались из исходников всякие программы, и все равно многих библиотек не было установлено. Поэтому были даны команды для доустановки библиотек: apt-get install unixodbc unixodbc-dev libodbc1 odbcinst apt-get install libdouble-conversion-dev apt-get install libxcb-icccm4-dev libxcb-icccm4 apt-get install \ libegl1-mesa-dev \ libgles2-mesa-dev \ libgl1-mesa-dev \ libxcb-xfixes0-dev \ libxrender-dev \ libxi-dev \ libfontconfig1-dev \ libfreetype6-dev \ libxkbcommon-dev \ libxkbcommon-x11-dev
apt-get install libinput-dev libinput10 libinput-bin apt-get install libmd4c-dev libmd4c-html0-dev apt-get install libxkbcommon-x11-dev libxkbcommon-dev libxkbcommon-x11-0 apt-get install libcups2-dev cups cups-client cups-common apt-get install gperf apt-get install flex bison apt-get install liblcms2-dev apt-get install libnss3-dev libnss3 apt-get install libsnappy-dev Далее выяснилось, что стандартные команды очистки настроек сборки ломают исходники: make distclean rm -f config.cache config.status config.log find . -name "Makefile" -delete rm -rf mkspecs/qconfig.pri rm -rf .config.opt .config.cache >./configure -prefix /opt/qt_5_15_18 -opensource -confirm-license -release -nomake tests + cd qtbase + /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtbase/configure -top-level -prefix /opt/qt_5_15_18 -opensource -confirm-license -release -nomake tests Creating qmake... cat: /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtbase/qmake/Makefile.unix.unix: Нет такого файла или каталога cat: /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtbase/qmake/Makefile.unix: Нет такого файла или каталога gmake: *** Нет целей. Останов. Поэтому исходники были удалены и распакованы заново. Затем заново дана команда конфигурирования. По сравнению с предыдущей попыткой конфигурирования практически все компоненты были активированы, и даже появилась новая большая секция: Qt WebEngineCore: Embedded build ......................... no Full debug information ................. no Pepper Plugins ......................... yes Printing and PDF ....................... yes Proprietary Codecs ..................... no Spellchecker ........................... yes Native Spellchecker .................... no WebRTC ................................. yes PipeWire over GIO ...................... no Geolocation ............................ yes WebChannel support ..................... yes Kerberos Authentication ................ no Extensions ............................. yes Support qpa-xcb ........................ no Use ALSA ............................... yes Use PulseAudio ......................... yes Qt WebEngineQml: Support Qt WebEngine Qml ............... yes UI Delegates ........................... yes Test Support ........................... no Qt WebEngineWidgets: Support Qt WebEngine Widgets ........... yes Qt PDF: Support V8 ............................. no Support XFA ............................ no Support XFA-BMP ........................ no Support XFA-GIF ........................ no Support XFA-PNG ........................ no Support XFA-TIFF ....................... no Bitcode support ........................ no Use static runtime ..................... no Qt PDF Widgets: Support Qt PDF Widgets ................. yes Далее в том же каталоге дана команда сборки: make -j 8 Сборка завершается успешно. Далее при попытке выполнить make install от root, возникает ошибка: /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtbase/bin/qmake -install qinstall /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d/lib/cmake/Qt5Quick3DAssetImport/Qt5Quick3DAssetImport_UipAssetImporterPlugin.cmake /opt/qt_5_15_18/lib/cmake/Qt5Quick3DAssetImport/Qt5Quick3DAssetImport_UipAssetImporterPlugin.cmake make[5]: выход из каталога «/opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d/src/plugins/assetimporters/uip» cd assimp/ && ( test -e Makefile || /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtbase/bin/qmake -o Makefile /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d/src/plugins/assetimporters/assimp/assimp.pro ) && make -f Makefile install Project ERROR: Library 'assimp' is not defined. make[4]: *** [Makefile:85: sub-assimp-install_subtargets] Ошибка 3 make[4]: выход из каталога «/opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d/src/plugins/assetimporters» make[3]: *** [Makefile:59: sub-assetimporters-install_subtargets] Ошибка 2 make[3]: выход из каталога «/opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d/src/plugins» make[2]: *** [Makefile:206: sub-plugins-install_subtargets-ordered] Ошибка 2 make[2]: выход из каталога «/opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d/src» make[1]: *** [Makefile:62: sub-src-install_subtargets] Ошибка 2 make[1]: выход из каталога «/opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d» make: *** [Makefile:378: module-qtquick3d-install_subtargets] Ошибка 2 Почему-то configure не проверяет наличие библиотеки и заголовков libassimp. Для устранения ошибки дана команда: apt-get install libassimp-dev И снова дана команда: make install Но ошибка все равно осталась та же самая. Поэтому дана команда: make uninstall Она завершится ошибкой, и часть каталогов в /opt/qt_5_15_18 останется. Их надо удалить вручную, кроме каталога qt-everywhere-src-5.15.18. Далее надо зайти в каталог /opt/qt_5_15_18/qt-everywhere-src-5.15.18, и выполнить команду: make clean Эта команда, скорее всего, тоже завершится ошибкой. Поэтому нужно полностью удалить каталог с исходниками, распковать архив снова, и опять выполнить сборку, как это написано в начале статьи. На этот раз бублиотека libassimp и ее заголовки будут стоять, и сборка должна произойти правильно. |
|||||||
|
Так же в этом разделе:
|
|||||||
|
|||||||
|
|||||||
|