Building SDL3_image with WebP Support for Ubuntu (GCC, CMake & Ninja) Сборка SDL3_image с поддержкой WebP для Ubuntu (GCC, CMake и Ninja)

A guide to compiling SDL3_image source code into a static library (libSDL3_image.a) on Ubuntu with WebP enabled. Руководство по компиляции исходного кода SDL3_image в статическую библиотеку (libSDL3_image.a) в Ubuntu с поддержкой WebP.

Make sure you have already built the core SDL3 and WebP libraries for Ubuntu by following these instructions: Убедитесь, что вы уже собрали основные библиотеки SDL3 и WebP для Ubuntu, следуя этим инструкциям:

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

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

sudo apt update && sudo apt install -y wget

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

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

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

Download and extract the source archive for your desired version release using wget: Скачайте и распакуйте архив с исходным кодом для нужного релиза с помощью wget:

cd ~
wget https://github.com/libsdl-org/SDL_image/releases/download/release-3.4.6/SDL3_image-3.4.6.tar.gz -O SDL3_image-3.4.6.tar.gz
tar -xzf SDL3_image-3.4.6.tar.gz
cd SDL3_image-3.4.6

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

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

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

WEBP_PATH="$HOME/libs/webp-1.6.0-ubuntu"
BUILD_DIR="build-ubuntu-static"

mkdir -p "$BUILD_DIR"
cd "$BUILD_DIR"

# Clean old CMake cache if it exists
rm -f CMakeCache.txt
rm -rf CMakeFiles

cmake .. \
  -GNinja \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_PREFIX="$HOME/libs/sdl3_image-3.4.6-webp-ubuntu" \
  -DSDL3_DIR="$HOME/libs/sdl3-3.4.16-ubuntu/lib/cmake/SDL3" \
  -DCMAKE_PREFIX_PATH="$WEBP_PATH" \
  -Dwebp_DIR="$WEBP_PATH/share/WebP/cmake" \
  -Dwebp_ROOT="$WEBP_PATH" \
  -DBUILD_SHARED_LIBS=OFF \
  -DSDLIMAGE_SAMPLES=OFF \
  -DSDLIMAGE_TESTS=OFF \
  -DSDLIMAGE_WEBP=ON \
  -DSDLIMAGE_WEBP_SHARED=OFF \
  -DSDLIMAGE_VENDORED=OFF \
  -DSDLIMAGE_BACKEND_IMAGEIO=OFF

cmake --build . --config Release --parallel $(nproc) --target install
Note: Примечание: Ensure that the path variables (WEBP_PATH, SDL3_DIR, and CMAKE_INSTALL_PREFIX) match the paths to your locally compiled static libraries. Убедитесь, что переменные путей (WEBP_PATH, SDL3_DIR и 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 compiled static library (libSDL3_image.a) along with headers will be installed in your specified CMAKE_INSTALL_PREFIX directory. После успешного завершения собранная статическая библиотека (libSDL3_image.a) вместе с заголовочными файлами будет установлена по пути, указанному в CMAKE_INSTALL_PREFIX.

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

cd ~ && rm -rf ~/SDL3_image-3.4.6 ~/SDL3_image-3.4.6.tar.gz

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

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

Integrating WebGPU-Native, SDL3, and SDL3_image on Windows and Ubuntu Интеграция WebGPU-Native, SDL3 и SDL3_image под Windows и Ubuntu


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