T
TempestSong13. September 2017 06:44

Qt 5.9.2 static link

Qt 5.9.2, static link

Как сбилдить Qt 5.9.2 в статику? Установлен компилятор MinGW 5.3.0 32 bit из стандартной поставки Qt. Динамическая линковка не вариант, потому что во-первых, зависимостей вагон и маленькая тележка, а во-вторых даже если скинуть все DLL с помощью windeployqt в папку с EXE, программа все равно не запустится, потому что не будет найдена "какая-то точка входа в процедуру".

Поэтому необходим статический билд, пусть хоть он и будет весить солидно, но он будет монолитен. Но однозначных инструкций нет. Помогите пожалуйста! Заранее спасибо.
Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

6
Evgenii Legotckoi
  • 13. September 2017 06:48

ммм... я подумаю, что можно сделать... я как-то не имел необходимости делать статический билд, а недавно распрощался с виндой вовсе на своем ПК. Но мне кидали небольшую инструкцию по статическому билду какому-то.
Попробую распросить человека, может у него осталась та инструкция.

    T
    • 13. September 2017 14:07
    • (bearbeitet)
    • Die Antwort wurde als Lösung markiert.

    Спасибо, уже не нужно, нашел рабочую инструкцию, усиленно погуглив.

    https://vladsol.tk/2017/05/qt-5-8-0-static-build/ - прикладываю на будущее для таких же страждущих вопрошаек.

      Evgenii Legotckoi
      • 13. September 2017 15:03

      Это хорошо. Спасибо за информацию. Надо будет самому посмотреть также. Но я скорее буду смотреть в сторону MSVC.

        Виталий Антипов
        • 5. November 2017 10:37

        По этой инструкции собрал статику, вроде работает с виджетами, но с qml, quick и т.п. беда.

        Project ERROR: Unknown module(s) in QT: qml quick quickcontrols2 charts datavisualization
        Из документации не очень понял как работать с плагинами. Может кто-то подсказать как слинковать qml, quick и др. компоненты статически?

        С динамической сборкой тоже проблема. C помощью windeployqt собрал библиотеки, добавил папки с QtQuick и QtQuick.2, но exe не запускается. Как узнать в чем проблема? (Qt 5.9.2 MinGW5.3.0 32bit).

          Насчёт статики вообще ничего не скажу, но что касается QML и windeployqt, то там использовать ключ для сборки библиотек с учётом QML, при этом с указанием пути, где QML лежит

          windeployqt --release --qmldir C:\Qt\Qt5.7.0\5.7\mingw53_32\qml MyApp.exe
            Виталий Антипов
            • 6. November 2017 07:33

            С динамической сборкой разобрался. После использования windeployqt удаляю скопированные им библиотеки Qt5Core.dll и .тп., на их место копирую нужные библиотеки из папки mingw53_32/bin (c теми которые windeployqt собирает приложение не запускается, как минимум Qt5Core.dll нужно заменить). Затем из папки mingw53_32/qml копирую папки Ot, QtQml, QtQuick, QtQuick.2 и др., необходимые в проекте, и удаляю из них отладочные библиотеки. И все работает на Win 7, 8, 10. Столкнулся с одним нюансом - при запуске на ПК на работе получил отсутствие многих QML элементов интерфейса, размазанным шрифтом и т.п. Всему виной аппаратная поддержка графики от Intel. Решение - в main.cpp до объявления QGuiApplication app(argc, argv) установить QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL), либо QCoreApplication::setAttribute(Qt::AA_UseOpenGLES).

              Kommentare

              Nur autorisierte Benutzer können Kommentare posten.
              Bitte Anmelden oder Registrieren
              Letzte Kommentare
              A
              ALO1ZE19. Oktober 2024 08:19
              Fb3-Dateileser auf Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
              ИМ
              Игорь Максимов5. Oktober 2024 07:51
              Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
              d
              dblas55. Juli 2024 11:02
              QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
              k
              kmssr8. Februar 2024 18:43
              Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
              Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
              Jetzt im Forum diskutieren
              J
              JacobFib17. Oktober 2024 03:27
              добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
              JW
              Jhon Wick1. Oktober 2024 15:52
              Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
              КГ
              Кирилл Гусарев27. September 2024 09:09
              Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
              F
              Fynjy22. Juli 2024 04:15
              при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

              Folgen Sie uns in sozialen Netzwerken