понедельник, 2 июля 2018 г.

00.00 Подготовка к работе. Сборка библиотеки в MS VS 2022.

Замечание: начиная с версии 3.0, библиотека WxWidgets разрабатывалась для использования с юникодными строками.

Библиотека будет установлена в D:\Cpp\Lib\wx
Вообще, все библиотеки будут устанавливаться в D:\Cpp\Lib\

1. Скачиваем wxWidgets:
git clone --recurse-submodules --jobs=5 https://github.com/wxWidgets/wxWidgets.git d:\Cpp\lib\wx

Документация о построении размещена в docs/msw/install.md.
Обращаем внимание на раздел "Improve debugging for Visual Studio 2012+" и "Building Applications Using wxWidgets".


Строим библиотеку:
- запускаем MS VS (всё строим "в IDE").
Открываем директорию D:\Cpp\Lib\wx\build\msw, находим файл решения wx_vc17.sln (в случае MSVS 2022), запускаем его. Выбираем подходящую конфигурацию:

Строим решение. Например, Release + Win32, Debug + Win32.
Замечание: из-за того, что проекты собираются не всегда в нужном порядке, возможно, при сборке (DLL) возникнут ошибки. Нужно повторно (обычно до 3х раз) построить решение (F7/)

...

Замечание. О статической сборке приложения для работы под Windows XP.

При "статической" сборки приложения с v141_xp, нужно в свойствах проекта: Свойства конфигурации - С/С++ - Язык- Режим совместимости = "Нет":

Т.е., убрать "premission-".
Ну и еще, конечно, в проекте следует указать такую же кодировку проекта, какая использовалась при сборке библиотеки WxWidgets.

Визуализаторы классов для отладчика.

Копируем содержимое папки %WXWIN%\misc\msvc в папку C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Packages\Debugger\Visualizers.

Создание приложений с помощью wxWidgets

Ко всем wxWidgets проектам просто добавляем страницу свойств wxwidgets.props их каталога C:\Cpp\Lib\wx (Alt+View+Property manager), чтобы открыть окно диспетчера свойств, а затем выберите к требуемым конфигурациям добавить существующий лист свойств (из контекстного меню в этом окне).
 Не забыть заменить значение Linker|System|SubSystem с Console на Windows.

Комментариев нет:

Отправить комментарий