Здравствуйте, я пытаюсь сделать статическое связывание в QT в Linux OpenSUSE 42.3, но у меня возникают некоторые проблемы https://doc.qt.io/qt-5.6/linux-deployment.html Я использую эту инструкцию и ищу qt на компьютере (я установил qt creator, qt5 des., Qt5 ass., Qt5 D-Bus viewer), и я получаю много вариантов (4xQT, QT5, QT5CORE и т. Д.), Я пытаюсь найти где-нибудь файл конфигурации (который запускается в инструкции ./configure -static -prefix / path / to / Qt, но я ничего не получаю), также я нахожу linuxdeployqt
который может создать исполняемый файл (AppImage), так что же использовать linuxdeployqt (AppImage) или статическое связывание QT все еще стоит тратить мое время? Какая разница?
Добро пожаловать в мир Qt!
Вы должны понимать установку Qt двумя способами.
1) Динамическая библиотека (Shared lib в linux), использующая онлайн / офлайн установщик Qt или некоторую библиотеку, уже есть в большинстве ОС Linux.
2) Статическая библиотека (Static lib в linux) с использованием исходного кода Qt, а затем выполните ручную настройку с помощью ./configure с несколькими опциями.
Ваша проблема довольно проста для решения, если вы правильно поняли, как установить Qt со статической связью в вашей ОС Linux.
Теперь проверьте эту ссылку
http://www.linuxfromscratch.org/blfs/view/svn/x/qt5.html
здесь они предоставили пошаговую инструкцию для загрузки исходного кода Qt и настройки параметров.
Теперь для вас важным параметром является — «Статические»
./ configure -prefix $ QT5PREFIX \
-sysconfdir / etc / xdg \
-подтверждение-лицензия \
-Открытый исходный код \
—статический \
-dbus-связанный \
-openssl-связанный \
-system-harfbuzz \
-система-sqlite \
Приведу примеры \
-no-rpath \
пропустить qtwebengine &&
который я добавил для вас и выделил.
Пожалуйста, поделитесь тем, чего вы хотите достичь именно с этой целью, статическая компиляция полезна только в том случае, если вы пользуетесь коммерческой лицензией Qt, если вы хотите перейти на версию с открытым исходным кодом, тогда вам нужно выбрать динамическое развертывание библиотеки … проверить часть лицензирования .. ,
если вам нужно динамическое развертывание, давайте уточним ваш вопрос с точным требованием.
Других решений пока нет …