Using wxWidgets Pre-Built Binary in CodeBlocks
At the time this guide is written, binary releases are only available for Visual C++ and TDM-GCC. I’m doing this on Code:Blocks 16.01 with TDM-GCC v4.9.2.
- Go to wxWidgets Downloads page
- Look for the Binaries section of the release you wish to use, and click on wxMSW DLLs
- Download the following.
- Vvv is the version of wxWidgets you want to use, eg. in my case it will be 3.0.3
- XXX is the version of compiler you are using, eg. in my case it will be 492TDM
- wxWidgets-Vvv_Headers.7z
- wxMSW-Vvv_gccXXX_Dev.7z
- wxMSW-Vvv_gccXXX_ReleaseDLL.7z (optional)
- Folder .\include contains header files for development.
- Folder .\lib\gcc492TDM_dll_Dev contains library binaries for both development and distribution.
- Folder .\lib\gcc492TDM_dll_Release contains DLLs for distribution only. This is not really needed as it’s contents are already available in the development library binaries folder.
Linking binary to project file
Prepare a new project
- Start with an empty project
- Go to Project>Properties
- Under Build targets tab,
- For both Debug and Release target, change Type to GUI application
- Click OK
- Under (Project name)->Compiler Settings->Other compiler options (These are not compulsory)
- -pipe
- -mthreads
- __GNUWIN32__
- __WXMSW__
- wxUSE_UNICODE
- __WXDEBUG__
Add library directory to project
- Here instead of adding the full library directory path to the project, the previously added IDE global variable will be used
- Go to Project>Build options
- Under (Project name)->Search directories
- Under Compiler tab
- Add $(#wxdir.BASE)
- Add $(#wxdir.BASE)
- Under Compiler tab
- Add $(#wxdir.LIB)\mswud
- Add $(#wxdir.LIB)
- Add $(#wxdir.LIB)\mswud
- Under Compiler tab
- Add $(#wxdir.LIB)\mswu
- Add $(#wxdir.LIB)
- Add $(#wxdir.LIB)\mswu
Link library files to project
- Here we will add just the bare necessities. Refer to Library List to see any other libraries you will need
- Under (Project name)-Debug->Linker settings
- Add libwxmsw30ud_core.a
- Add libwxbase30ud.a
- Add libwxmsw30u_core.a
- Add libwxbase30u.a
Save and build the project
The project file is now ready. Add your source files and build it.
Distributing your program

The resultant program will require the precompiled release DLLs to run. Copy the required files from .\lib\gcc492TDM_dll_Release to your executable’s folder. The same files can be found in .\lib\gcc492TDM_dll_Dev too, but this can be a little messy.
WxWindowsQuickRef
When downloading an official Code::Blocks release, you have the option of downloading a bundle package that includes a full MinGW/GCC toolchain.
- Path properly defined — Ensure that the folder containing the compiler executables (typically C:\Program Files\CodeBlocks\bin, or C:\MinGW32\bin) is in your Windows PATH environment variable.
Contents
Download wxWidgets Source Code
wxWidgets is distributed in source code format, and you need to compile it into a library before you can use it in your own programs.
The current recommended version of wxWidgets to use is 2.8.12. Click here to download the wxWidgets 2.8.12 sources for Windows (wxMSW-2.8.12-Setup.exe; 12.2 MB). You can check the wxWidgets download page to see if a newer stable version is available. It is highly recommended that you install the sources to a path without spaces. You should choose a volume with at least 300 MB of free space.
wxPack is no longer recommended for use, as it is built with a much older version of GCC.
Build wxWidgets
- Open up a command prompt for building. If you are using MinGW/GCC, simply use the standard Windows command shell (open the Start menu, click «Run. «, enter «cmd» and hit OK). If you are using MSVC, you should use the special command shell which sets up the correct environment variables for you. If you use a version of MSVC which required you to download the Platform SDK separately, ensure that whichever command environment you use includes the Platform SDK tools and paths as well as the standard compiler tools and paths.
- Change to the wxWidgets build directory (where <wxWidgets> is the path you extracted the sources to; typically C:\wxWidgets-2.8.12):
Note: the /D flag after cd may be omitted from the command; it simply allows command prompt to change drives if necessary.
- Execute the build command. The recommended command to use for MinGW/GCC is:
- The recommended command to use for MSVC is:
- This step will generally take a long time; faster PCs may expect 30-minute build times, and slower PCs can take as much as several hours.
- If using more recent versions of GCC, many warnings will occur during the build. This can slow the build process noticeably; you may want to redirect the warnings to a text file by appending «2>errlog.txt» to the build command, or supress them entirely by appending «2>nul».
- If the build is successful, gcc dlls will be placed at ../lib/gcc_dll/wxmsw<version>_gcc_custom.dll
The «CXXFLAGS=-fno-keep-inline-dllexport» option is necessary with recent versions of GCC (not with MSVC), to prevent problems with memory usage when performing the final link step on the monolithic DLL.
See the section below titled «wxWidgets build options explained» for details on the meaning of the BUILD, SHARED, MONOLITHIC, and UNICODE options. These options are critically important, because they define the basic wxWidgets development environment you will be using. You must duplicate them exactly when running Code::Blocks’ wxWidgets project wizard.
Create a wxWidgets project in Code::Blocks
- On the Code::Blocks Start Page, select «Create a new project»; alternatively, open the File menu, highlight «New» and select «Project. «
- Select «wxWidgets project»
- The first page is an introduction, which you can choose to skip in the future.
- Select which version of wxWidgets you will be using. If you followed the instructions above, you should select «wxWidgets 2.8.x».
- Set your project title and location.
- Enter author details if you wish (not required).
- At this point wiki member WardXmodem’s gives a «select your GUI options» — can someone detail their meanings?
- Select options for automatic code and file generation.
- Select wxWidgets’ location. It’s highly recommended that you use a global variable for this: enter «$(#wx)» (without quotes). If you haven’t already defined this global variable, the global variables dialog will appear; for the base path, select your wxWidgets installation location. You don’t need to fill in the other paths.
- Select debug and/or release configurations for your project. The debug configuration at least is recommended.
- Choose your wxWidgets build options. These must match the options used when you built wxWidgets! If you followed the directions above, select all three of the options under «wxWidgets Library Settings». The other settings on this page are not related to the wxWidgets build options; you may use them or not as you prefer. In order to avoid using a debug wxWidgets build (as recommended), you must select «Configure Advanced options» and then leave «Use __WXDEBUG__ and Debug wxWidgets lib» unchecked on the next page.
- Select additional libraries if required. You should not need to select any of these for normal usage.
Build and Run
Select «Build and run» (F9) to, well, build and run. If all goes well, your wxWidgets basic program should appear.
wxWidgets Build Options Explained
What do the BUILD, SHARED, MONOLITHIC, and UNICODE options mean?
BUILD
BUILD controls whether a debug version (BUILD=debug) or release version (BUILD=release) of wxWidgets itself is built. In the vast majority of cases you will only need a release version of wxWidgets, since you won’t be interesting in debugging wxWidgets itself. You can still create debug builds of your own programs that link to a release build of wxWidgets.
- A debug build of wxWidgets creates libraries with a «d» suffix — for example, «libwxmsw28d.a»/»wxmsw28d_gcc_custom.dll».
- A debug build of wxWidgets creates the folder «mswd» or «mswud» in the wxWidgets library output folder.
- A release build of wxWidgets creates libraries without the «d» suffix — for example, «libwxmsw28.a»/»wxmsw28_gcc_custom.dll».
- A release build of wxWidgets creates the folder «msw» or «mswu» in the wxWidgets library output folder.
SHARED
SHARED controls whether a DLL (SHARED=1) or static (SHARED=0) version of wxWidgets is built. With a DLL build, compile times are faster and the executable size is smaller. The total size of a single executable plus the wxWidgets DLL is greater, but multiple executables can use the same DLL.
- A DLL build of wxWidgets creates import libraries (such as libwxmsw28.a) and DLLs (such as wxmsw28_gcc_custom.dll). You must include the DLL when you distribute your program.
- A static build of wxWidgets creates static libraries only (such as libwxmsw28.a), and you do not need to distribute a wxWidgets DLL.
MONOLITHIC
MONOLITHIC controls whether a single library (MONOLITHIC=1) or multiple component libraries (MONOLITHIC=0) are built. With a monolithic build, project setup and development are much easier, and you only have one DLL to distribute if you’re using a DLL build. With a non-monolithic (multilib) build, several different libraries are built and you can avoid linking with the entire wxWidgets codebase for programs that don’t need it. You do have to ensure that you choose the correct component libraries.
- A monolithic build of wxWidgets creates a single wxWidgets import library (such as libwxmsw28u.a) and a single DLL (such as wxmsw28_gcc_custom.dll).
- A multilib build of wxWidgets creates multiple import libraries (libwxbase28u.a, etc.) and multiple DLLs.
- Additional static libraries are always created with any wxWidgets build (libwxexpat.a, libwxjpeg.a, etc.). These libraries do not normally need to be used with DLL builds of wxWidgets, but they are required when using static builds.
UNICODE
UNICODE controls whether wxWidgets and your program use wide-character strings with Unicode support. Most programs for Windows 2000 and later should do so. Earlier versions of Windows don’t have the necessary Unicode support. You should always use wxWidget’s _(«string») and _T(«string») macros to ensure that your hardcoded strings are the correct type.
- A Unicode (UNICODE=1) build of wxWidgets creates libraries with a «u» suffix — for example, «libwxmsw28u.a»/»wxmsw28u_gcc_custom.dll».
- A Unicode build of wxWidgets creates the folder «mswu» or «mswud» in the wxWidgets library output folder.
- An ANSI (UNICODE=0) build of wxWidgets creates libraries without the «u» suffix — for example, «libwxmsw28.a»/»wxmsw28_gcc_custom.dll».
- An ANSI build of wxWidgets creates the folder «msw» or «mswd» in the wxWidgets library output folder.
Frequently Asked Questions
I get errors like «wx/setup.h: No such file or directory»
You’re missing an important compiler search path in your build options. Make sure you choose the correct wxWidgets build configuration when running the wxWidgets project wizard. If re-running the wizard isn’t an option, then open your project’s build options and add «$(#wx.lib)\gcc_dll\mswu» (assuming a monolithic Unicode DLL build) or «$(#wx.lib)\gcc_lib\mswu» (assuming a multilib Unicode build)to the compiler search paths.
I get errors like «cannot find -lwxmsw28u»
You have an incorrect link library in your build options. Make sure you choose the correct wxWidgets build configuration when running the wxWidgets project wizard. If re-running the wizard isn’t an option, determine which version of the library is built and adjust the library name in your build options accordingly.
I get errors like «undefined reference to _Unwind_*»
wxWidgets was built with a different version of GCC than the one you’re currently using. You need to rebuild wxWidgets with the same version of GCC that you use to compile your program.
Настройка wxWidgets в Code::Blocks
При загрузке официального релиза Code::Blocks, есть возможность загрузки пакета, который включает в себя полный набор инструментов MinGW/GCC.
- Путь к файлам надлежащим образом определен — Убедитесь, что папка, содержащая исполняемые файлы компилятора (обычно C:\Program Files\CodeBlocks\bin, или C:\MinGW32\bin) добавлена в вашу переменную среды Windows PATH.
Содержание
Загрузка исходного кода wxWidgets [ править ]
wxWidgets распространяется в виде исходного кода, и необходимо скомпилировать его в библиотеку, прежде чем станет возможным использовать его в своих собственных программах.
Рекомендованная к использованию версия wxWidgets 2.8.12. Нажмите сюда, чтобы скачать исходные коды wxWidgets 2.8.12 для Windows (wxMSW-2.8.12-Setup.exe; 12.2 MB). Можно также зайти на страницу загрузки wxWidgets чтобы проверить доступность новой стабильной версии. Настоятельно рекомендуется установить исходные коды wxWidgets с путем без пробелов. Требуется выбор тома (диска) с минимум 300 МБ свободного пространства.
Сборка wxWidgets [ править ]
- Откройте окно командной строки для сборки. Если вы используете MinGW/GCC, проще будет воспользоваться стандартной командной оболочкой Windows (откройте меню «Пуск», нажмите кнопку «Выполнить. «, введите «cmd» и нажмите OK). Если в меню «Пуск» нет кнопки «Выполнить. », то ее можно отобразить нажав правой кнопкой мыши кнопку «Пуск», далее выбираем пункт «Свойства», далее вкладка «Меню Пуск», кнопка «Настроить», поставить флажок у «Команда Выполнить», нажать кнопку «ОК». Если вы используете MSVC, следует использовать специальную командную оболочку, которая устанавливает правильные переменные среды. (Поищите в меню запуска Visual Studio пункт «Visual Studio 20XX Command Prompt» — это ярлык запуск оболочки с установленными переменными среды). Если вы используете версию MSVC, в которой необходимо скачать Platform SDK отдельно, убедитесь, что командная среда включает инструмент Platform SDK и пути к нему, а также стандартный компилятор с путями.
- Перейдите в каталог сборки wxWidgets (<wxWidgets> в тексте далее — реальный путь распаковки его исходных кодов, например C:\wxWidgets-2.8.12):
Примечание: /D флаг после cd может быть опущен из команды; просто это позволяет командной строке при необходимости изменить диски.
- Выполните команду сборки. Рекомендованная команда для MinGW/GCC:
- Рекомендованная команда для MSVC:
- Этот этап может занять длительное время ; сборка длится порядка 30 минут на быстрых компьютерах, а на медленных может занимать несколько часов.
- Если используются более поздние версии GCC, во время сборки будет отображаться множество предупреждений. Это обстоятельство может заметно замедлить процесс сборки; можно перенаправить предупреждения в текстовый файл, добавив в команду сборки «2>errlog.txt» или подавить их полностью путем добавления «2>nul».
С последними версиями GCC (не с MSVC) необходим параметр «CXXFLAGS =-fno-keep-inline-dllexport» для предотвращения проблем с использованием памяти при выполнении финального шага сборки в монолитную DLL.
В разделе ниже под названием «Пояснение по опциям сборки wxWidgets» объясняется подробная информация о значении различных вариантов сборки: BUILD, SHARED, MONOLITHIC и UNICODE. Эти опции имеют критически важное значение, поскольку они определяют основу среды разработки wxWidgets используемой в дальнейшем. А именно, требуется дублировать их при запуске мастера создания проекта Code::Blocks’ wxWidgets.
Создание проекта wxWidgets в Code::Blocks [ править ]
- В стартовой странице Code::Block выберите «Create a new project»; или, откройте меню «File», выберите «New» и нажмите «Project. «
- Выберите «wxWidgets project»
- Первая страница — это вступление, которое можно пропустить в будущем.
- Выберите версию wxWidgets которая нужна для работы. Если вы придерживались инструкции выше, нужно выбрать «wxWidgets 2.8.x».
- Задайте название и расположение проекта.
- Введите данные автора (не обязательно).
- Выберите опции автоматической генерации кода и файлов проекта.
- Выберите расположение wxWidgets. Крайне рекомендуется использовать глобальную переменную, для этого введите «$(#wx)» (без кавычек). Если прежде эта глобальная переменная не была определена, появится диалоговое окно глобальных переменных; в качестве базового пути выберите ваше местоположение установки wxWidgets. Остальные пути заполнять не требуется.
- Задайте опции отладочной (debug) и/или конечной (release) конфигураций проекта. Рекомендуется наличие хотя бы отладочной конфигурации.
- Выберите опции сборки wxWidgets. Далее следует выставить значения опций «wxWidgets Library Settings» в строгом соответствии с опциями сборки wxWidgets о которых говорилось выше. Другие настройки на этой странице, не связанные с параметрами сборки проекта wxWidgets — можно использовать их или не использовать, по своему предпочтению. Для того, чтобы избежать использования отладочной сборки wxWidgets (как рекомендовано), необходимо выбрать «Настроить Расширенные параметры» и затем оставить «Use __WXDEBUG__ and Debug wxWidgets lib» снятым на следующей странице.
- При необходимости выберите дополнительные библиотеки. Вы не должны выбирать любую из них для обычного использования.
Сборка и Запуск [ править ]
Нажмите «Сборка и запуск» (F9) чтобы проверить сборку и запуск приложения. Если все пойдет хорошо, ваше приложение wxWidgets должно появиться на экране.
Пояснение по опциям сборки wxWidgets [ править ]
Что означают опции BUILD, SHARED, MONOLITHIC, and UNICODE?
BUILD [ править ]
BUILD задает какую версию wxWidgets, отладочную (BUILD=debug) или конечную (BUILD=release), следует собрать. В подавляющем большинстве случаев нужна только конечная версия выпуска wxWidgets, так как отладка самого wxWidgets не потребуется. Вполне можно создавать отладочные сборки своих собственных программ, которые ссылаются на конечную сборку wxWidgets.
- Отладочная (debug) сборка wxWidgets ‘ создает библиотеки с суффиксом «d», например «libwxmsw28d.a»/»wxmsw28d_gcc_custom.dll».
- Отладочная (debug) сборка wxWidgets создает папку «mswd» или «mswud» в папке вывода библиотеки wxWidgets.
- Конечная (release) сборка wxWidgets ‘ создает библиотеки без суффикса «d», например, «libwxmsw28.a»/»wxmsw28_gcc_custom.dll».
- Конечная (release) сборка wxWidgets ‘ создает папку «msw» или «mswu» в папке вывода библиотеки wxWidgets.
SHARED [ править ]
SHARED задает какую версию wxWidgets, динамически связываемую DLL (SHARED=1) или статически связанную static (SHARED=0), следует собрать. При сборке DLL версии компиляция происходит быстрее и размер исполняемого файла меньше. Общий размер одного исполняемого файла плюс библиотеки DLL wxWidgets больше, но одну и ту же библиотеку DLL могут использовать несколько исполняемых файлов и в этом случае получается экономия места на диске.
- Динамически связываемая DLL сборка wxWidgets создает библиотеки импорта (например, libwxmsw28.a) и библиотеки DLL (например, wxmsw28_gcc_custom.dll). При распространении своей программы библиотеку DLL следует включать в дистрибутив.
- Статически связываемая static сборка wxWidgets создает только статические библиотеки (например, libwxmsw28.a), и в дальнейшем не потребуется распространять библиотеки DLL wxWidgets вместе с созданным приложением.
MONOLITHIC [ править ]
MONOLITHIC задает какую библиотеку, единую (MONOLITHIC=1) или многокомпонентную (MONOLITHIC=0) следует собрать. При монолитной сборке дальнейшие установка и разработка проекта выполняются намного проще, т.к. если используется DLL тип сборки библиотеки, то для распространения потребуется только одна библиотека DLL. При немонолитной (multilib) сборке, собираются несколько различных библиотек, и можно избежать связывания со всей базой кода wxWidgets тех программ, которые не нуждаются в ней. Нужно быть полностью уверенным в своих действиях выбирая правильный компонент библиотеки.
- Монолитная monolithic сборка wxWidgets создает единую библиотеку импорта wxWidgets (такую как libwxmsw28u.a) и единую DLL (такую как wxmsw28_gcc_custom.dll).
- Немонолитная multilib сборка wxWidgets создает несколько библиотек импорта (libwxbase28u.a, etc.) и несколько DLL.
- Дополнительные статические библиотеки всегда создаются с любой сборкой wxWidgets (libwxexpat.a, libwxjpeg.a, и т.д.). Эти библиотеки обычно не требуются при использовании DLL сборки wxWidgets, но они нужны при использовании статической сборки.
UNICODE [ править ]
UNICODE задает использование в библиотеке wxWidgets и в создаваемой программе поддержки символов Юникода. Эта возможность используется в большинстве программ для ОС Windows 2000 и более поздних версий. Более ранние версии Windows не имели необходимой поддержки Юникода. Вы всегда должны использовать макросы _(«string») и _T(«string») wxWidget для обеспечения того, чтобы жестко закодированные строки были правильного типа.
Компиляция библиотеки wxWidgets в Code::Blocks
Если вам нужна кроссплатформенная библиотека для создания интерфейса программы, то стоит в первую очередь обратить на wxWidgets или Qt. Про Qt много всего интересного написано на сайте Блог программиста, однако я обычно предпочитаю wxWidgets за чуть меньший размер dll-ок, которые необходимо при этом добавлять в программу, да и компилировать программу с ней несколько легче. С другой стороны, wxWidgets — это библиотека исключительно для построения интерфейсов, в то время как Qt — это целый фреймворк, который имеет множество дополнительных возможностей, напрямую с интерфейсом не связанные. Как видно из заголовка, эта статья будет посвящена wxWidgets.
На мой взгляд для кроссплатформенной разработки на C++ в качестве среды разработки больше всего подходит Code::Blocks, с каждой версией этой IDE пользоваться становится все легче, и все лучше она работает «из коробки». В этой статье мы рассмотрим процесс компиляции библиотеки wxWidgets в этой среде.
На странице загрузки wxWidgets можно скачать уже скомпилированные объектные файлы для этой библиотеки, но иногда нужно самому скомпилировать библиотеку, например, если требуется задать какие-то параметры компиляции или скомпилировать каким-нибудь специфическим компилятором.
В этой статье мы рассмотрим компиляцию wxWidgets с помощью компилятора mingw, который прилагается с Code::Blocks. На всякий случай напомню, что mingw — это компилятор GCC под Windows.
Компиляция библиотеки wxWidgets
0. Качаем Code::Blocks Главное скачать Code::Blocks с интегрированным mingw.
1. Устанавливаем Code::Blocks. Здесь нет ничего особенного, под Windows жмем Next -> Next -> Next. Все как обычно.
2. Установка переменной окружения PATH. Code::Blocks может использовать как сторонние компиляторы, так и интегрированный mingw (именно этот случай мы рассматриваем), который после установки будет располагаться в папке C:\Program Files (x86)\CodeBlocks\MinGW\. Чтобы было проще использовать этот компилятор, желательно добавить этот путь в переменную окружения PATH. В принципе, этого можно не делать, но тогда во многих случаях при работе с тем же компилятором из командной строки придется или указывать полный путь до компилятора, или добавлять его в ту же самую переменную при каждом сеансе работы. ИМХО, лучше установить эту переменную окружения сразу.
Для того, чтобы установить переменную окружения под Windows, нужно попасть в диалог «System Properties» (поскольку у меня англоязычная Windows, все названия я буду приводить на английском языке, думаю, что найти их русскоязычный аналог не составит труда). Этот диалог достаточно глубоко закопан, чтобы в него попасть под Windows 8.1, нажимаем правую кнопку мыши на кнопке Пуск, выбираем пункт меню System. Откроется следующее окно:

Слева выбираем пункт Advanced system settings и попадаем в диалог «System Properties». Затем на вкладке Advanced нажимаем кнопку Environment Variables

Откроется диалог «Environment Variables», в нижнем списке которого нужно найти переменную Path.

Значение этой переменной у вас будет скорее всего другое. Дважды щелкаем на эту переменную, и в открывшемся диалоге добавляем в конец через точку с запятой путь до запускаемых файлов mingw, т.е. в нашем случае до C:\Program Files (x86)\CodeBlocks\MinGW\bin\.
3. Качаем wxWidgets. Нужно скачать файл из раздела «Source Code», для простоты будем считать, что скачиваем архив с исходниками в формате zip или 7z.

4. Распаковываем архив с wxWidgets в какую-нибудь папку, например, в C:\Library\wxwidgets\.
5. Открываем командную строку с помощью команды cmd.
6. В архиве wxWidgets есть специальная папка («build\msw»), в которой хранятся файлы проекток для компиляции библиотеки под Windows с помощью различных сред. Переходим в эту папку с помощью команды
7. Если вы уже пытались (безуспешно) или с другими параметрами компилировать wxWidgets, то нужно предварительно удалить следы предыдущей компиляции. Разумеется, можно просто удалить папку с распакованными файлами библиотеки, а можно воспользоваться скриптом makefile. На самом деле удаление результатов компиляции с помощью makefile может быть полезно, если вы хотите заново перекомпилировать wxWidgets с каким-то определенным набором параметров, в то время как файлы, удачно скомпилированные с другими параметрами компиляции, оставить. Далее (в п. 8) мы будем компилировать библиотеку с использованием параметров USE_XRC=1 SHARED=1 MONOLITHIC=1 UNICODE=1 USE_OPENGL=1 BUILD=release, поэтому команда удаления должна иметь точно такие же параметры с добавлением команды clean в конце:
mingw32-make.exe -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1
UNICODE=1 USE_OPENGL=1 BUILD=release cleanmingw32-make.exe -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=0
UNICODE=1 USE_OPENGL=1 BUILD=release cleanЕсли во время выполнения этой команды вы получите ошибку о том, что команда mingw32-make не найдена, значит, вы не добавили путь до этой команды в переменную окружения PATH (см. п. 2).
8. Осталось в той же папке C:\Library\wxwidgets\build\msw\ запустить компиляцию исходников библиотеки. Теперь мы должны выбрать, компилируем мы библиотеку как монолитную (с параметром компиляции MONOLITHIC=1), когда будет создана одна большая dll-ка, или не монолитную, когда различные пакеты будут собраны в отдельных dll-ках (с параметром компиляции MONOLITHIC=0).
Забегая вперед, вот результирующие файлы, после компиляции wxWidgets в монолитном режиме: