Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 16.05.2021
Сообщений: 6
1

Добавление библиотек MinGW в дистрибутив

16.05.2021, 08:34. Показов 637. Ответов 11

Добрый день!

Я хочу создать коммерческий продукт с помощью CodeBlocks + MinGW + wxWidgets. Это простое классическое Windows-приложение для инженерных расчетов безо всяких наворотов. Для того, чтобы мое приложение корректно работало, оно должно содержать следующие файлы (включая динамически линкуемые библиотеки C++ и wxWidgets):

myprogram.exe
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll
wxmsw315u_gcc_custom.dll
wxmsw315u_gl_gcc_custom.dll
еще файлы с данными...

Могу ли я включить библиотеки dll в дистрибутив программы? Будет ли это корректно с точки зрения выполнения требований лицензий? На зарубежных форумах я находил информацию, что да. Вроде бы, возможна даже статическая линковка.

https://opensource.stackexchan... es-for-com
https://opensource.stackexchan... y-software

Заранее спасибо!
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2021, 08:34
Ответы с готовыми решениями:

Динамическое подключение библиотек C++ MinGW
Импользую VS Code и MinGW. Нужно динамически подключить несколько библиотек. Но при вызове...

Ошибка с подключением библиотек iostream.h в MinGW
Помогите разобраться. Не получается подключить библиотеки iostream.h. В среде MinGW 2.1 #include...

Mingw пути включаемых файлов и библиотек по умолчанию
Здравствуйте! Решил попробовать поработать с кросс-платформенным компилятором gcc в Windows. Для...

Отлучение Qt 5.3.0 от библиотек MinGW и Qt
Отлучение Qt 5.3.0 от библиотек MinGW и Qt У меня Винда, или ОС Windows 7 64-bit (Ultimatiym) ...

11
14 / 68 / 21
Регистрация: 08.05.2021
Сообщений: 275
16.05.2021, 08:54 2
Цитата Сообщение от steevis Посмотреть сообщение
Могу ли я включить библиотеки dll в дистрибутив программы?
Можешь.
Цитата Сообщение от steevis Посмотреть сообщение
Вроде бы, возможна даже статическая линковка.
За wxWidgets не уверен, остальное да.
1
0 / 0 / 0
Регистрация: 16.05.2021
Сообщений: 6
16.05.2021, 09:20  [ТС] 3
Связывался с командой wxWidgets, они говорят, что без проблем. Получается, что могу собирать один exe-файл со статической линковкой всех библиотек (wxWidgets и C++) и никто ко мне не придерется?
0
14 / 68 / 21
Регистрация: 08.05.2021
Сообщений: 275
16.05.2021, 09:23 4
Цитата Сообщение от steevis Посмотреть сообщение
Получается, что могу собирать один exe-файл со статической линковкой всех библиотек
Да.
1
Нарушитель
42 / 142 / 30
Регистрация: 29.06.2019
Сообщений: 1,413
16.05.2021, 10:03 5
Цитата Сообщение от steevis Посмотреть сообщение
один exe-файл со статической линковкой всех библиотек (wxWidgets и C++) и никто ко мне не придерется?
см. размер на выходе!
экзешник может быть слишком большим. Например винда не запускает exe больше 4 Гб
===
часто есть .lib файлы, наравне с dll, - то можно слинковать и статически, и динамически...
с флажком -lstatic да - выбирается статическая линковка...
но я, честно говоря, не вижу плюсов в динамическом вызове библиотек, через LoadLibrary... поэтому предпочитаю статическую линковку...
... только если всё упирается в необходимость сделать exe поменьше размером - то, наверно, и выбрала бы dll, или если в исходниках нет статической версии библиотеки (то и выбора нет - нужен будет dll)
1
0 / 0 / 0
Регистрация: 16.05.2021
Сообщений: 6
16.05.2021, 10:12  [ТС] 6
Программа небольшая, без наворотов. Выходной размер exe при статической линковке получается порядка 20 Мб. Со всеми файлами данных приложение все весит около 40 Мб. И работает на всех других компах с виндой. Тут проблем никаких.

Я про то, не потребуют ли от меня приверженцы открытого ПО открыть мой код?
0
14 / 68 / 21
Регистрация: 08.05.2021
Сообщений: 275
16.05.2021, 10:23 7
Цитата Сообщение от JeyCi Посмотреть сообщение
Например винда не запускает exe больше 4 Гб
32-х битное убожество? К тому же, это не зависит от типа компоновки - просто в динамике тебе нужно посчитать ещё и размеры всех dll.
0
Нарушитель
42 / 142 / 30
Регистрация: 29.06.2019
Сообщений: 1,413
16.05.2021, 10:26 8
Цитата Сообщение от steevis Посмотреть сообщение
не потребуют ли от меня приверженцы открытого ПО открыть мой код?
я думаю, открытие своего кода - только собственное решение может быть...
но я не спец по лиценнзиям... слышала только про BSD...
Мир лицензий: разбираемся с лицензиями BSD (есть линки и на др. лицензии)
0
0 / 0 / 0
Регистрация: 16.05.2021
Сообщений: 6
16.05.2021, 11:58  [ТС] 9
Это программа для достаточно сложных инженерных расчетов, и у клиентов-инженеров вполне могут быть 32-битные винды (а у кого-то даже и XP ). В динамике с dll получается мегабайт на 10 больше. Все равно немного.
0
Нарушитель
42 / 142 / 30
Регистрация: 29.06.2019
Сообщений: 1,413
25.05.2021, 06:14 10
Цитата Сообщение от JeyCi Посмотреть сообщение
по лиценнзиям
вот ответили по GNU LGPL
1
0 / 0 / 0
Регистрация: 16.05.2021
Сообщений: 6
25.05.2021, 22:23  [ТС] 11
Спасибо!
0
1145 / 1052 / 165
Регистрация: 19.02.2010
Сообщений: 3,179
25.05.2021, 22:52 12
Цитата Сообщение от JeyCi Посмотреть сообщение
но я, честно говоря, не вижу плюсов в динамическом вызове библиотек, через LoadLibrary...
А при динамической линковке не будет ни вызовов LoadLibrary(), ни GetProcAddress() для каждой нужной функции.
Ибо всё слинкуется так же, как и все заюзанные виндовозные системные dll-библиотеки (kernel, user, gdi,...).
И из накладных расходов времени выполнения (после запуска екзешника с загрузкой всех юзаемых dll) - добавится лишь одна команда безусловного перехода при каждом вызове функции из любой dll-библиотеки.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2021, 22:52

Отучение Qt 5.2.0 от библиотек MinGW и Qt
Данная тема уже рассматривалась тут https://www.cyberforum.ru/qt/thread234568.html По первому...

G++ не видит статических библиотек .a в папке lib mingw
Собрал я библиотеки freeglut *.a и glew *.a через Makefile да и закинул в папки по адресу...

Eclipse + MinGW, подключение библиотек
Всем доброе время суток. Пользуюсь Eclipse + MinGW и возникла потребность написания приложения с...

Добавление библиотек
добрый день. встал вопрос ... есть два файла dshowutil.h и dshowutil.cpp. В первом только...

добавление библиотек
Здравствуйте. Не могу разобраться с банальщиной. Есть проект с папкой Core. В ней куча папок типа...

Добавление отсутствующих библиотек
Волею случая пришлось использовать VS2010, в котором, как выяснялось отсутствуют библиотеки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.