Building Mbed TLS Static Libraries for Ubuntu (GCC, CMake & Ninja) Сборка статических библиотек Mbed TLS для Ubuntu (GCC, CMake и Ninja)

A guide to compiling Mbed TLS source code into static libraries on Ubuntu using CMake, GCC, and Ninja. Руководство по компиляции исходного кода Mbed TLS в статические библиотеки в Ubuntu с помощью CMake, GCC и Ninja.

If you haven't set up C/C++ development tools on your Ubuntu machine, follow the Если вы еще не настроили инструменты разработки C/C++ на вашей системе Ubuntu, следуйте инструкции: Ubuntu C/C++ Development Environment Setup Guide Руководство по настройке среды разработки C/C++ на Ubuntu

Step 1: Install Build Dependencies Шаг 1: Установка зависимостей сборки

Ensure that wget and bzip2 are installed on your system to download and extract the source archive: Убедитесь, что wget и bzip2 установлены в вашей системе для скачивания и распаковки архива исходного кода:

sudo apt update && sudo apt install -y wget bzip2

Step 2: Download MBedTLS Source Code Archive Шаг 2: Скачивание архива исходного кода MBedTLS

You can browse the official GitHub releases page to check the latest available version tags: Вы можете перейти на страницу релизов GitHub, чтобы посмотреть список доступных версий:

View MBedTLS Releases Смотреть релизы MBedTLS

Download and extract the official release archive (.tar.bz2) for your desired version using wget: Скачайте и распакуйте официальный архив релиза (.tar.bz2) для нужной версии с помощью wget:

cd ~
wget https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-4.2.0/mbedtls-4.2.0.tar.bz2
tar -xjf mbedtls-4.2.0.tar.bz2
cd mbedtls-4.2.0

Step 3: Create the Build Script Шаг 3: Создание скрипта сборки

In the root directory of the extracted MBedTLS source folder, create a script named build-ubuntu-static.sh with the following content: В корневой директории извлеченного исходного кода MBedTLS создайте файл build-ubuntu-static.sh со следующим содержимым:

#!/usr/bin/env bash
set -e

BUILD_DIR="build-ubuntu-static"

rm -rf "$BUILD_DIR"
mkdir -p "$BUILD_DIR"
cd "$BUILD_DIR"

cmake .. \
  -GNinja \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_PREFIX="$HOME/libs/mbedtls-4.2.0-ubuntu" \
  -DUSE_SHARED_MBEDTLS_LIBRARY=OFF \
  -DENABLE_PROGRAMS=OFF \
  -DENABLE_TESTING=OFF

cmake --build . --config Release --parallel $(nproc) --target install
Note: Примечание: Adjust the CMAKE_INSTALL_PREFIX path to point to your preferred target installation folder. Убедитесь, что путь CMAKE_INSTALL_PREFIX указывает на удобную для вас директорию установки.

Step 4: Run, Compile, and Clean Up Шаг 4: Запуск, сборка и очистка

Grant execution permissions to the script and run it in your terminal: Сделайте скрипт исполняемым и запустите его в терминале:

chmod +x build-ubuntu-static.sh
./build-ubuntu-static.sh

Upon completion, your static libraries along with header files and tools will be installed in your specified CMAKE_INSTALL_PREFIX directory. После успешного завершения собранные статические библиотеки, заголовочные файлы и утилиты будут установлены по пути, указанному в CMAKE_INSTALL_PREFIX.

Once installed, you can safely remove the temporary source directory and the downloaded archive: После установки вы можете безопасно удалить временную директорию с исходным кодом и скачанный архив:

cd ~ && rm -rf ~/mbedtls-4.2.0 ~/mbedtls-4.2.0.tar.bz2

Step 5: Next Steps Шаг 5: Следующие шаги

Now that you have compiled and installed the MBedTLS static library, you can proceed with building SDL3_image: Теперь, когда вы собрали и установили статическую библиотеку MBedTLS, вы можете перейти к сборке SDL3_image:

Building IXWebSocket Static Library for Ubuntu (GCC, CMake & Ninja) Сборка статической библиотеки IXWebSocket для Ubuntu (GCC, CMake и Ninja)


Support My Work Поддержать проект

If these tutorials helped you, consider buying me a coffee! Если эти туториалы вам помогли, вы можете поддержать автора.

Sberbank (Russia only) Сбербанк (только для РФ)

Sberbank SBP QR Code

Direct transfer via phone number (Russia only) Перевод по номеру телефона (только для РФ)

+7 (917) 212-29-59

USDT TRC20

USDT TRC20 QR Code

Support via Cryptocurrency Поддержка криптовалютой

TMtY1YifNf6FKvgeFmqKGQR4NStKr3csGp