Статическая линковка QT Creator Linux
При запуске на пк без QT естественно ошибки libQT5Core.so no version information available и тд
Добавлено через 9 минут
Версия QT Creator 5.10.1
Добавлено через 37 минут
Проблема с «You don’t seem to have ‘make’ or ‘gmake’ in your PATH». была связана с тем , что архив распаковал не с помощью tar -xzvf qt-everywhere-opensource-src-5.2.0.tar.gz
Добавлено через 37 минут
Можно не линковать статически, а просто подсунуть необходимые библиотеки в папку с программой? Потому что линкованная статически, стала бажить до ужаса((
Статическая линковка в Qt 5.11
Собственно, сабж. Актуальна ли информация из важной темы.
Статическая линковка Qt
Есть несколько вопросов. 1) Порядка скольки времени могут собираться исходники Qt? Не обязательно.
Статическая линковка Qt 5.6
Решил я обновить Qt до 5.6. После чего надо было собрать комплект статической сборки. Решил.
Qt 5.1.1 статическая линковка
Да, наверное такая тема часто проскальзывает, но я все равно не понял. (( Я начал изучать Qt и.
интегрированную среду разработки программного обеспечения. К чему именно, а главное, зачем он собрался ее «линковать» — сие тайна есть, мраком глубоким покрытая.
Это вообще шедевр, поисковиками мы с вами явно разными пользуемся.
Похоже, что для вас вообще нет разницы между SDK и IDE.
TRam_, а подскажите как это сделать, пожалуйста.
Добавлено через 1 минуту
0x90h, до трех ночи) (не в три)
Добавлено через 2 минуты
0x90h, sdk пакет разработчика, ide — среда разработки. Я понимаю, что вам это выглядит абсурдно и смешно. Но если это легко сделать, может вы подскажите?
Добавлено через 37 минут
ошибки libQT5Core.so iiQTGui5.so no version information available. — на другой машине.
Добавлено через 5 часов 49 минут
Может можно собрать Deb пакет со всеми зависимостями?.
Никто адекватного ответа дать не смог. Теперь по традиции, то что я дальше напишу обсмеют. Но для таких же как и я, если наткнетесь на эту тему- надеюсь для вас будет полезно!
Если вы делали проект на Linux’e в QT не собирая его в статику, то Вам надо перейти по ссылке https://download.qt.io/archive/qt/ , выбрать версию установленную на вашем ПК (с версиями ниже могут быть проблемы), найти файл вида qt-everywhere-src-5.10.1.tar.xz , обычно лежит в папке Single. После того как скачали файл, необходимо его разархивировать и выполнить bash скрипт.
После в созданной папке /path/to/Q/Qt5_static \ в подпапке bin будет лежать файл QMAKE, к которому надо указать путь в самой QT (Инструменты-Параметры-Профили QT-Добавить — и выбираем файл qmake из папки /path/to/Q/Qt5_static/bin
Жмем применить — переходим на вкладку комплекты — жмем добавить, внизу в списке находим профиль QT и выбираем созданный на предыдущем шаге профиль. Жмем применить и ок. Выходим из настроек. Жмем CTRL +5 и добавляем к проекту новый вариант сборки. — Более подробно об этом по ссылке ниже.
GNU/Linux Qt5.* — Линкуем статически
В связи с отсутствием в данной теме мануала по статической линковке приложений Qt, решил исправить данный недостаток
Оговорюсь сразу: приветствуется беспощадная критика, особенно, что касается скриптов)
Итак:
1) Как обычно, нужно пересобрать фреймвор статически. Для этого скачиваем архив с исходными текстами отсюда: http://qt-project.org/downloads
На данный момент имя тар-бола — qt-everywhere-opensource-src-5.2.0.tar.gz
2) Переходим в каталог с тар-болом. Разархивируем и распаковываем. Потом нужно сконфигурировать, собрать и установить тонну исходников. Делаем это так ( за дополнительными параметрами, если нужно, обращайтесь ./configure —help ):
Пересобирать каждую из них, в случае, когда нет статической, довольно проблематично и долго и не всегда возможно ( кто хочет пусть попробует ), поэтому есть вариант поставлять их вместе со своим приложением. Большая вероятность того, что большинство этих библиотек будут на чужой машине, но выполнив еще немного действий, вы застрахуете и себя, и пользователя от лишней головной боли.
Вот что делаем:
1) Нужно скопировать симлинк, который выводит ldd, и библиотеку на которую он указывает в каталог с нашим приложением. ( в нашем случае /path/to/app/lib ). Симлинк использует динамический загрузчик при загрузке библиотеки для приложения во время выполнения, ну а библиотека, на которую он указывает это собственно данные.
Вот наваял такой скрипт (еще раз напомню, что правки и улучшения очень приветствуются c башем знаком 2 дня )
Теперь все это дело в .tar.gz и можете делиться с друзьями своим приложением
Как из этого сделать программный пакет, смотрите документацию к своему дистрибутиву GNU/Linux.
Ps. На MacOS процедура практически не должна отличаться, но у меня нет возможности проверить.
Pss. Если ваше приложени базируется на плагинах, то они по своей природе не могут линковаться статически..
Смотрите документацию http://qt-project.org/doc/qt-4. t-x11.html и все вытекающие перекрестные ссылки по плагинам.
____________________________________________________________ _______________________________________________
Вроди бы ничего не забыл.
Надеюсь, статейка кому-нибудь поможет разобраться.
Спасибо и удачи
Timestamp->QdateTime (Qt5+Firebird+Linux)
Направьте на путь истинный. В исходниках Qt5 есть небольшой пример, sqlbrowser. И есть база FB. Всё.
Qt5 перенос приложения из windows7 в linux (Raspbery)
Добрый вечер! Извиняюсь, не так давно знаком с Qt и линукс, нужна помощь. Задача стоит.
Удаление GNU\Linux из автозагрузки Kali Linux x64
Здравствуйте. Установил криво Kali Linux на диск С. Потом удалил все его файлы. Но в автозагрузке.
Знакомство с GNU/Linux
требуется объединить содержимое 2-х файлов,например task1.cpp и task3.cpp в единый новый файл и.
Да и при чем тут версия Qt, если вы просто собирает либы из ldd.
Добавлено через 7 минут
Даже проще:
Статические библиотеки, указанные в приведенном списке распространяются вместе с динамическими, часто в рамках одного пакета с заголовочными файлами. Особенно удивляет отсутствие статических libc и libstdc++ шестой версии, присутствующие практически везде, где есть gcc.
Да и какой смысл в статической линковке, если с бинарником все равно нужно распространять зоопарк библиотек.
Если какие-то библиетеки окажутся других версий, или вовсе отсутствуют в дистрибутиве, то да, имеет смысл скачать их исходники. Это займет не больше времени, чем разработка вышеприведенного оригинального кросс-скрипта.
2. Непонятна целевая аудитория такого распрстранения программы. Если программа открытая, то статическая компановка обычно не требуется. Достаточно указать зависимости в пакете. Если проприетарная, то такой подход нарушает LGPL, под которой распростаняется Qt, кроме оговоренного (на мой взгляд достаточно экзотического) случая, когда автор предоставит средства для работы своей программы с любой новой версией Qt.
Qt SDK 4.8 статическая сборка проекта
В данном уроке я расскажу в картинках как собрать приложение статически/провести статическую линковку/ отучить ваш *.exe от библиотек Qt — кажется это всё одно и тоже по своей сути
Лично я всё проделывал со свеженькой на данный момент Qt SDK с сайта Nokia( Qt 4.8 и SDK 1.2.1)
Сам я полный нуб в Windows, так как всё жизнь сижу на Linux, так что всё сопровождается картинками, для таких же нубов в винде, как я сам.
Насколько я сам разобрался для нормальной сборки нам в системе понадобится Perl
Я его брал отсюда
Затем, насколько я понял, в винде творится жуткий беспорядок с тем, где хранятся либы и нужно вписывать вручную какие-то переменные, короче галочка на скрине должна от всего этого маразма избавить, так что советую её оставить
Ура, у нас есть Perl!
Теперь можно приступать к сборке Qt из исходников.
Первым делом я предлагаю скачать исходники
я взял эти , возможно и посвежей подойдут, но я рисковать не стал
теперь нужно распаковать это дело в X:\QtSDK\QtSources\4.7.4\
папок QtSources\4.7.4\ у вас не будет, их нужно создать
теперь нам нужно открыть вашим любимым блокнотом файлик
X:\QtSDK\QtSources\4.7.4\mkspecs\win32-g++\qmake.conf
найти строку, содержащую текст: QMAKE_LFLAGS
и привести её к такому вот виду:
QMAKE_LFLAGS = -static -static-libgcc -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
и сохранить файл.
Теперь нам нужно открыть пропатченный терминал(да простят меня виндузятники, если эта штука не так называется), который можно найти у себя, взглянув на мой скриншот
Теперь в этом терминале нам нужно перейти в каталог
X:\QtSDK\QtSources\4.7.4\
и забить команду
configure -static -debug-and-release -no-exceptions -openssl-linked -nomake demos -nomake examples
затем вам предстоит прочесть всё, что вам предложат прочесть и правильно ответить на вопросы
дождавшись выполнения команды(конца конфигурирования) и появления приглашения строки ввода, забиваем теперь команду(собираем библиотеку)
mingw32-make sub-src
после окончания терминал можно закрыть и проделать следующее
после того, как нажмёте «Собрать всё» может вывалится вот такая вот с первого взгляда непонятная штука, её я предлагаю просто закрыть и забыть о ней
Всё почти готово, осталось открыть свой проект и сделать несколько кликов, как на скринах
Всем спасибо за внимание, надеюсь у вас всё получилось.
Надеюсь данный урок послужит макетом для более тонкой сборки и настройки вашего окружения Qt.