3258 / 1479 / 468
Регистрация: 01.06.2021
Сообщений: 4,992
1

Сборка из исходников wxWidgets под Windows, используя MinGW и makefile

01.01.2024, 22:55. Показов 1397. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В данной статье приводится инструкция, как собрать из исходников wxWidgets, используя GNU Make на Windows.

0. Для сборки нужен MinGW, в частности mingw32-make. Если он у вас имеется, то переходим к следующему этапу.
Если у вас сложности с установкой MinGW, то советую скачать архив со всем необходимым из сайта winlibs. Там рекомендую выбирать MinGW-w64 (UCRT) + GCC. Разархивируйте архив и укажите абсолютный путь к папке bin в Path.
Для удобства добавляем переменную среды.
Нажимаем Win+R и вводим команду SystemPropertiesAdvanced и далее нажимаем на Переменные окружения
Далее, в переменных системы ищем переменную Path и нажимаем Изменить.
Добавляем папку тулчейна. Например, в моем случае C:\msys64\ucrt64\bin.
В указанной папке должен быть файл mingw32-make.exe. Если нет, то вы неправильно установили тулчейн.

1. Заходим на официальный сайт wxWidgets и нажимает на Downloads
Кликните здесь для просмотра всего текста
Сборка из исходников wxWidgets под Windows, используя MinGW и makefile


2. Скачиваем архив с исходниками (zip или 7z)
Кликните здесь для просмотра всего текста
Сборка из исходников wxWidgets под Windows, используя MinGW и makefile


3. Разархивируем скачанные файлы, например, в корень диска С. Например, после этих действий у вас должна быть папка C:\wxWidgets-3.2.4

4. Переходим в папку C:\wxWidgets-3.2.4\build\msw\. Перед глазами должны быть разные файлы, среди которых makefile.gcc. Если вы его видите, то вы в правильной папке.

5. Кликаете на адресную строку в Проводнике, вводите команду cmd и нажимаете Enter.
Кликните здесь для просмотра всего текста
Сборка из исходников wxWidgets под Windows, используя MinGW и makefile

Открывается командная строка, где выбран уже C:\wxWidgets-3.2.4\build\msw>

6. Далее, нужно прописать команду для сборки с помощью make

Команда состоит из двух частей:

Первая часть указывает на наш makefile:

mingw32-make -f makefile.gcc

Во второй части идут опции, которые нужно передать в зависимости от того, что вам нужно

BUILD=release (если вам нужна релизная сборка)
или
BUILD=debug (если нужна отладочная сборка)

SHARED=1 (говорит о том, что нужно генерировать DLL файлы для динамической линковки)
или
SHARED=0 (выбрана по умолчанию, можно даже не прописывать. Означает, что нужна версия со статической линковкой)

MONOLITHIC=1 (если нужно генерировать одну большую библиотеку вместо отдельных файлов)
Опция MONOLITHIC 1 используются только с SHARED 1

UNICODE=1 (выбрана по умолчанию, можно не прописывать. Означает, что нужно использовать юникод)
или
UNICODE=0 (использует ANSI)

Примечание: при сборке с опциями SHARED=1 MONOLITHIC=1 рекомендую также прописать
CXXFLAGS=-fno-keep-inline-dllexport
чтобы предотвратить нехватку оперативной памяти при сборке

В итоге, если презюмировать, что не отключаем включенный по умолчанию юникод, то возможны такие варианты:
Код
SHARED=0 BUILD=debug
SHARED=0 BUILD=release
SHARED=1 BUILD=debug
SHARED=1 BUILD=release
SHARED=1 MONOLITHIC=1 BUILD=debug
SHARED=1 MONOLITHIC=1 BUILD=release
Т.к. я предпочитаю всегда статическую линковку и мне достаточно релизной сборки, то я прописываю:

mingw32-make -f makefile.gcc SHARED=0 BUILD=release

т.е. в командной строке выглядит так

C:\wxWidgets-3.2.4\build\msw>mingw32-make -f makefile.gcc SHARED=0 BUILD=release
Кликните здесь для просмотра всего текста
Сборка из исходников wxWidgets под Windows, используя MinGW и makefile


Далее нажимаю Enter и сборка начинается.

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

***

Потом можно создать папку, например, wxWin куда скопировать из папки C:\wxWidgets-3.2.4 (папка с исходниками) две папки:
C:\wxWidgets-3.2.4\include
C:\wxWidgets-3.2.4\lib\

В итоге, получится
wxWin\include
wxWin\lib

Собственно, папку C:\wxWidgets-3.2.4\ можно потом удалить, если не планируете создать другие сборки.

Дальше в ide указываются папки из wxWin.
Например, если Code::Blocks, то в Settings/Global variables создается переменная wx.
в base указывается абсолютный путь к wxWin
в include указывается абсолютный путь к wxWin\include
в lib указывается абсолютный путь к wxWin\lib

Далее создаете проект wxWidgets
При создании проекта, выбирайте wxWidgets 3.2, а также ставьте или уберите галочки, касающиеся юникода, типа созданной библиотеки и пр., чтобы оно соответствовало опциям, которые вы использовали при сборке.

Дополнительно можно скачать wxFormBuilder, которая облегчит процесс создания форм, либо использовать плагин wxSmith из C::B.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.01.2024, 22:55
Ответы с готовыми решениями:

Makefile: сборка из исходников в поддиректории
Здравствуйте, никак не могу разобраться, как прописать правило для сборки из исходников в...

Сборка проекта под mingw в windows
Всегда использовал студию и собирал из под ее командной строки. прописывал qtenv.bat, qmake,...

Сборка MySQL драйверов под Windows для mingw
При выполнении C:\Qt\Qt5.1.0\5.1.0-beta1\Src\qtbase\configure.exe Выдает ошибку: Error:...

Как из исходников собрать exe в Windows с Mingw?
Пробовал с mingw491_32. Вот эту программу Sip-4.17...

QElectroTech сборка из исходников под виндоус
Всем привет) вопрос кто нибудь собирал QElectroTech под виндоус?Скачала исходники, выдает только...

0
01.01.2024, 22:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.01.2024, 22:55
Помогаю со студенческими работами здесь

PHP 5.5 — сборка из исходников под nginx
Доброго времени суток! Вопрос следующий - как правильно собрать PHP5 из исходников под nginx...

Сборка Box2D под MinGW
Как собрать из исходников файл Box2D.dll под MinGW, чтобы можно было в свои проекты подключать?

Сборка Qt 4.8.5 под MinGW, неизвестная ошибка
Собираю под Windows 7 qt-everywhere-opensource-src-4.8.5, скачал с архива на downloads.qt.io, во...

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

Mingw и wxWidgets
Появилась необходимость разработать программу, используя wxWidets. Распаковал, собрал, попытался...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru