Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
9 октября 2018 г. 19:16

Qt

Qt, DLL, dll, Windows, dynamic

На форуме возник вопрос, как создать динамическую библиотеку и правильно её подключить в сторонний проект. Периодически такие вопросы возникают, поэтому рассмотрим один вариант создание динамической библиотеки dll для Windows с использованием визардов стандартных в Qt Creator.

В данном случае не будет рассматриваться вариант, когда проект разбивается на подпроекты, которые компилируются как библиотеки и потом подключаются в главный проект. Поскольку это будут динамические внутренние библиотеки проекта. Создадим именно внешнюю библиотеку, которую теоретически можно будет распространять в виде бинарников.

Создадим два проекта:

  1. QuiLib - это будет внешняя динамическая библиотека, которая будет содержать одно диалоговое окно. Данное диалоговое окно будет открываться в основном проекте.
  2. WithDynamicLibrary - проект, который будет использоваться как раз для подключения данной динамической библиотеки.

7 марта 2016 г. 15:52

Qt

windows, windeployqt, DLL, WinAPI, Qt

В одном из уроков по Qt уже было показано, как собрать все DLL , применяемые в проекте для подготовки программы к использованию на других ПК, работающих под управлением ОС Windows , а теперь предлагаю ознакомиться с утилитой, которая поставляется вместе с Qt . Данная утилита называется windeployqt и является консольным приложением, которое, как правило, идёт в поставке с компиляторами MinGW или MSVC.

Для использования windeployqt необходимо запустить из консоли, передав в качестве аргумента путь к скомпилированному исполняемому файлу приложения. После чего windeployqt соберёт все необходимые библиотеки в папке, где располагается исполняемый файл.

Утилита windeployqt располагается в папке bin , которая в свою очередь располагается в папке компилятора для Qt. Таким образом, путь к папке может быть следующим:

  • для MinGW - C:\QT\5.5\mingw492_32\bin\windeployqt.exe
  • для MSVC - C:\QT\5.5\msvc2013\bin\windeployqt.exe
16 августа 2015 г. 15:32

Qt

WinAPI, DLL, InnoSetup, Windows, Qt, Инсталлятор

В прошлой статье Мы научились быстро собирать все используемые в проекте DLL-библиотеки. А теперь настало время поговорить о том, как собрать инсталлятор для ОС Windows. Уже длительное время пользуюсь довольно удобной opensource утилитой под названием InnoSetup, которая позволяет буквально в несколько кликов собирать мультиязычный инсталлятор.

Инсталлятор собирается утилитой из скрипта, который вы можете написать в рукопашную, или воспользоваться сценарием по созданию скрипта. Второй вариант проще и достаточно эффективен.

Сборка инсталлятора

Шаг первый. Запуск сценария сборки скрипта

Для запуска сценария заходим в меню и выбираем создать новый: File > New или комбинация клавиш Ctrl + N.

После чего нажимаем на кнопку Next.

16 августа 2015 г. 14:43

Qt

WinAPI, DLL, DLL Collector, DLLCollector, Qt

Рано или поздно перед любым Qt-разработчиком встаёт необходимость переноса своего приложения на другие компьютеры, и тогда возникает проблема наличия библиотек на целевом компьютере, которые необходимы для запуска и работы приложения. Особенно заметно это может быть при переносе приложения, которое должно исполняться под ОС Windows. Если под ОС Linux необходимые Qt библиотеки могут присутствовать по умолчанию, как например с Ubuntu, то под ОС Windows их может и вовсе не быть.

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

Как пишет Автор , утилита производит поиск зависимостей в runtime процесса. Следовательно Вашу программу необходимо запустить через данную утилиту. DLL Collector собирает информацию о всех подгружаемых Плагинах, используемых Вашей программой, но при этом не стоит забывать, что плагины подгружаются при первом использовании их функциями Вашей программы. Таким образом, необходимо сделать прогон Вашей программы по её функционалу, чтобы DLL Collector нашёл все библиотеки.

m
19 декабря 2018 г. 10:37
maintumanov

Qt - Тест 001. Сигналы и слоты

  • Результат:68баллов,
  • Очки рейтинга-1
ИН
18 декабря 2018 г. 17:37
Игорь Носач

C++ - Тест 003. Условия и циклы

  • Результат:64баллов,
  • Очки рейтинга-1
ИН
18 декабря 2018 г. 17:22
Игорь Носач

C++ - Тест 003. Условия и циклы

  • Результат:35баллов,
  • Очки рейтинга-10
Последние комментарии
V
15 декабря 2018 г. 2:06
Vlad15007

Спасибо большое!Очень помогли!
11 декабря 2018 г. 21:01
Евгений Легоцкой

Не знаю, какой-там конкретно эффект и если честно не хочется fl studio ради того, чтобы посмотреть устанавливать, но из того, что увидел в интернете. Предполагаю, что то, что вы хотите с...
V
11 декабря 2018 г. 19:25
Vlad15007

Подскажите пожалуйста ( я новичок совсем)Можно ли организовать спрайт без этого окошка (как в fl studio fruity dance)?
11 декабря 2018 г. 15:06
Евгений Легоцкой

Что интересно, если написать так from <application_name>.<module_name> import <filename> ,то PyCharm сносит крышу, если разрабатываешь в рамках проекта приложение, ко...
11 декабря 2018 г. 14:52
Илья Чичак

Тут мне тоже есть что сказать=) Сами разрабы советуют импортировать следующим образом: from <application_name> import <module_name> Стоит избегать from . import &l...;
Сейчас обсуждают на форуме
М
19 декабря 2018 г. 8:43
Михаиллл

Здравствуйте.Говорят, если подключить ICU, то в SQLite появится регистронезависемый поиск.Я нашел скомпилированный ICU по этой ссылке https://www.npcglib.org/~stathis/blog/precompiled-...
18 декабря 2018 г. 19:58
Евгений Легоцкой

ну если у вас также будет внешний ключ на Serial, то получается следующая ситуация, Movie добавлен в Serial, а Serial имеет список Movie. То есть вам playlist как таковой вовсе не нужен....
R
18 декабря 2018 г. 12:25
RED_Spider

именно так, проблема в кодировке, а именно в отсутствии шрифтов на сервере, для меня вопрос решился в CentOS 7yum install curl cabextract xorg-x11-font-utils fontconfig всем спасибо за ...
U
18 декабря 2018 г. 10:39
Unreal_man

А вот этот коннект здесь и вовсе не нужен connect(ui->ok3, &QPushButton::clicked, this, &Widget::addToText); А как же без него? ============================== ...
m
17 декабря 2018 г. 19:03
melnik10

Спасибо, попробую!
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы