Как собрать dll в нужном комплекте?



  • Я веб-программист, заказчику понадобилось простенькое кроссплатформенное приложение, автоматическая загрузка списка файлов на локальное устройство. Давно не писал под винд. занялся чтением заметок, выбрал qt creator & c++. Довольно быстро разобрался с приложением, ssl прикрутил,все работает. Был уже почти рад, пока - по аналогии с delphi, не попробовал запустить exe. Знаю конечно что это самый глупый вопрос, который задают новички. Сам опять ушел на неделю в чтение статей и форумов, так как худо-бедно программирую уже 20 лет).Я не нашел решения! то есть решений много, но про любой из них шквал сообщений об ошибках и признание способа тупиковым. Варианты..

    1. Закидывать в папку проекта все dll что он просит в тексте ошибок. Пробовал и сам. Путаница в версиях, битностях, совместимостях и переносимостях. Вопрос - можно ли заставить его выдать список dll с путями, сразу полный и конкретный? Причем список не один, а для разных платформ? заставить его обращаться к разным таким спискам?
    2. Компилировать все библиотеки в exe или автоматически собирать их в папку с ресурсами? Читал что для этого надо собрать qt вручную, но под каждой найденной инструкцией по сборке под винд., десятки отзывов что она не работает... сам разработчик почем у не предлагает инструмент по сборке? есть какой то готовый набор исходников и компонентов, актуальных версий?
    3. Может есть еще варианты которые я упустил?


  • Здравствуйте!
    Вы использовали windeployqt?

    Зайдите в директорию, где установлен у Вас Qt.
    Например: Qt\Qt5.10.0\5.10.0\mingw53_32\bin
    *Папка mingw53_32 может ещё быть mingw53_64. Выберите свою разрядность ОС.

    Когда будете в нужной директории - зажмите клавишу Shift и нажмите ПКМ.
    В появившемся списке выберите пункт "Открыть окно команд" (или как-то так. Задача состоит в том, чтобы использовать командную строку в этой директории)

    После того как у Вас появилась консоль, пишите такую команду:
    windeployqt.exe --release --путьКвашейПрограмме

    У меня вот так:
    windeployqt.exe --release --"D:\Work\qt_projects\EQDrive_Config-V5\build-EQDrive_Config-V5-Desktop_Qt_5_10_0_MinGW_32bit-Release\release\EQDrive_Config-V5.exe"

    И энтер. Этим самым windeployqt скопирует в директорию exe-шника все необходимые файлы. Некоторых dll может не хватате порядка 2-3 штук. При запуске он Вам напишет чего не хватает. Вы можете их добавить с директории Qt\Qt5.10.0\5.10.0\mingw53_32\bin

    Если что - обращайтесь ;)


Log in to reply