1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chfyjy-QtWindeploy

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme
Использование:  

https://b23.tv/av52111697/p1

Сначала планировалось получить каталог dll через переменные среды, а также необходимые dll через пользовательские файлы или pro-файлы. Затем проанализировать путь и т. д.

Однако при отладке программы часто появляется абсолютный путь dll. Поэтому были найдены материалы по этой теме. 

Суть в функции void Widget::getPeDependDllInfo(const QString& aimexeName), которая получает абсолютные пути всех зависимых dll, включая некоторые внедренные dll, такие как трояны или поисковики. Если компьютер работает без защиты, то они не должны включаться. Времени было немного, поэтому функционал получился довольно грубым и, возможно, без отладки.

Но его можно использовать напрямую. Простая программа на Qt без сторонних библиотек может использовать его напрямую. Для более сложных программ рекомендуется клонировать и внести изменения. Конечно, позже я постараюсь улучшить его.

* * *

Выбрать только зависимости Qt. Кроме того, есть ошибка с выбором всего. В следующий раз исправлю.

Должно быть, всё готово. Флажок будет работать, выбор всего — это выбор всего. Также перечислены все местоположения зависимых библиотек. Поместите Qt впереди, затем необходимые сторонние библиотеки или зависимости, внедрённые другими программами, такими как защитное ПО. Windows-зависимые поместите последними, потому что обычно их не нужно копировать.

* * *

Обратите внимание, что при использовании версии msvc Qt для упаковки могут потребоваться msvcxxx.dll (например, msvcr100.dll). Их нужно выбрать самостоятельно из списка, иначе после развёртывания приложение может не открыться.

* * *

Все функции, которые устанавливают пути, например QApplication::setLibraryPaths() или QApplication::addLibraryPath(), могут привести к сбою развёртывания после использования инструмента. Если это произошло, решите проблему самостоятельно.

Кроме того, при развёртывании на win10 на более старых системах высока вероятность возникновения ошибок, связанных с совместимостью системы. Пожалуйста, скомпилируйте программу, которую вы хотите развернуть, на соответствующей системе. При развёртывании с более низкой версии на win10 ошибки не будет.

Пожалуйста, изучите проблемы совместимости самостоятельно.

Использование:

1. Используйте компилятор исходного кода vs для среды vs и компилятор mingw для среды mingw.
2. Поскольку мы не анализируем статические EXE-файлы напрямую, нам нужно сначала запустить xxx.EXE, который мы хотим упаковать, чтобы получить информацию о dll. Просто введите xxx.exe в поле ввода. Не нужно указывать путь.
3. Нажмите «Получить информацию о dll», чтобы получить список dll, от которых зависит xxx.exe.
4. Выберите нужные dll из списка или выберите все. Однако многие из них не нужны. Будьте осторожны.
5. Нажмите «Копировать».
6. После копирования в каталоге, где находится exe, будет создан каталог QtRelease. Все dll будут скопированы сюда, но exe не будет скопирован.

Поэтому, пожалуйста, скопируйте exe самостоятельно, когда закончите упаковку.

Спасибо! Если у вас возникнут какие-либо проблемы, сообщите мне через GitHub или мою электронную почту.

Логотип от https://www.iconfont.cn/search/index?q=qtsfkuan

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/chfyjy-QtWindeploy.git
git@api.gitlife.ru:oschina-mirror/chfyjy-QtWindeploy.git
oschina-mirror
chfyjy-QtWindeploy
chfyjy-QtWindeploy
master