Building IXWebSocket, MbedTLS, and zlib from Source (MinGW) Сборка IXWebSocket, MbedTLS и zlib из исходного кода (MinGW)
A comprehensive guide to compiling the WebSocket network stack statically on Windows using MinGW 13.1 and CMake. Полное руководство по статической компиляции сетевого стека WebSocket на Windows с помощью MinGW 13.1 и CMake.
1. Compile zlib (v1.3.2) 1. Компиляция zlib (v1.3.2)
-
Download the Source code (zip) archive from the official release page:
Скачайте архив Source code (zip) со страницы официального релиза:
-
Extract the zlib132.zip archive to the
C:/libsfolder. Open your terminal, navigate to your zlib source directory: Распакуйте архив zlib132.zip в папкуC:/libs. Откройте терминал, перейдите в папку с исходным кодом zlib:cd C:\libs\zlib-1.3.2
-
Configure the build directory and options using CMake. Copy and paste the following command to generate the MinGW Makefiles:
Настройте директорию сборки и параметры конфигурации с помощью CMake. Скопируйте и вставьте следующую команду для генерации файлов сборки MinGW:
cmake -G "MinGW Makefiles" -S . -B dist -DCMAKE_INSTALL_PREFIX=C:/libs/zlib-1.3.2-mingw -DCMAKE_BUILD_TYPE=MinSizeRel -
Compile the library using 8 parallel compilation threads to speed up the process:
Скомпилируйте библиотеку, используя 8 параллельных потоков сборки для ускорения процесса:
cmake --build dist -j8 -
Install the compiled headers and binaries to the designated directory (
C:/libs/mbedtls-4.1.0-mingw): Установите скомпилированные заголовочные файлы и библиотеки в указанную директорию (C:/libs/mbedtls-4.1.0-mingw):cmake --install dist
2. Compile Mbed TLS (v4.1.0) 2. Компиляция Mbed TLS (v4.1.0)
-
Download the mbedtls-4.1.0.tar.bz2 archive from the official release page:
Скачайте архив mbedtls-4.1.0.tar.bz2 со страницы официального релиза:
-
Extract the mbedtls-4.1.0.tar.bz2 archive to the
C:/libsfolder. Open your terminal, navigate to yourmbedtls-4.1.0source directory: Распакуйте архив mbedtls-4.1.0.tar.bz2 в папкуC:/libs. Откройте терминал, перейдите в папку с исходным кодомmbedtls-4.1.0:cd C:\libs\mbedtls-4.1.0
-
Run the following commands to generate and install the static library binaries:
Выполните следующие команды для генерации и установки статических бинарников библиотеки:
cmake -G "MinGW Makefiles" -S . -B dist -DCMAKE_INSTALL_PREFIX=C:/libs/mbedtls-4.1.0-mingw -DENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=MinSizeRel cmake --build dist -j8 cmake --install dist
3. Compile IXWebSocket (v12.0.0, master branch) 3. Компиляция IXWebSocket (v12.0.0, ветка master)
-DCMAKE_CXX_STANDARD_LIBRARIES="-lbcrypt -lcrypt32 -lws2_32" to guarantee system cryptography and network socket routines link cleanly at the absolute end of the command line chain.
Примечание: Мы передаем флаг -DCMAKE_CXX_STANDARD_LIBRARIES="-lbcrypt -lcrypt32 -lws2_32", чтобы гарантировать корректную линковку системных библиотек шифрования и сокетов в самом конце цепочки аргументов.
Provide the explicit paths to your newly built zlib and Mbed TLS library targets so IXWebSocket can reference them during static compilation: Укажите явные пути к только что собранным библиотекам zlib и Mbed TLS, чтобы IXWebSocket мог ссылаться на них во время статической компиляции:
cd C:\libs\IXWebSocket-12.0.0-master
cmake -G "MinGW Makefiles" -S . -B dist -DCMAKE_INSTALL_PREFIX=C:/libs/IXWebSocket-12.0.0-master-mingw -DZLIB_INCLUDE_DIR=C:/libs/zlib-1.3.2-mingw/include -DZLIB_LIBRARY=C:/libs/zlib-1.3.2-mingw/lib/libzs.a -DMBEDTLS_LIBRARY=C:/libs/mbedtls-4.1.0-mingw/lib/libmbedtls.a -DMBEDTLS_INCLUDE_DIRS=C:/libs/mbedtls-4.1.0-mingw/include -DMBEDX509_LIBRARY=C:/libs/mbedtls-4.1.0-mingw/lib/libmbedx509.a -DMBEDCRYPTO_LIBRARY=C:/libs/mbedtls-4.1.0-mingw/lib/libmbedcrypto.a -DUSE_TLS=ON -DUSE_WS=ON -DUSE_ZLIB=ON -DCMAKE_CXX_STANDARD_LIBRARIES="-lbcrypt -lcrypt32 -lws2_32" -DCMAKE_BUILD_TYPE=MinSizeRel
cmake --build dist -j8
cmake --install dist
4. Expected Output Structure 4. Ожидаемая структура вывода
Once all installation processes complete, your C:/libs folder will contain the prepared standalone directories ready for project targeting:
После завершения всех процессов установки ваша папка C:/libs будет содержать готовые отдельные директории, готовые для подключения к проектам:
C:/libs/
├── zlib-1.3.2-mingw/
│ ├── include/
│ └── lib/libzs.a
├── mbedtls-4.1.0-mingw/
│ ├── include/
│ └── lib/ [libmbedtls.a, libmbedx509.a, libmbedcrypto.a]
└── IXWebSocket-12.0.0-master-mingw/
├── include/
└── lib/libixwebsocket.a
5. Next Steps 5. Следующие шаги
Support My Work Поддержать проект
If these tutorials helped you, consider buying me a coffee! Если эти туториалы вам помогли, вы можете поддержать автора.
Sberbank
Direct transfer via phone number Перевод по номеру телефона
Bybit (USDT TRC20)
Support via Cryptocurrency Поддержка криптовалютой