Building SDL3_image Shared Library with WebP Support for Android (NDK & CMake) Сборка динамической библиотеки SDL3_image с поддержкой WebP для Android (NDK и CMake)

A guide to compiling SDL3_image source code into a shared library (libSDL3_image.so) for Android using CMake and NDK with WebP support. Руководство по компиляции исходного кода SDL3_image в динамическую библиотеку (libSDL3_image.so) для Android с помощью CMake и NDK с поддержкой WebP.

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

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

Check and download the latest release (3.4.8) directly from the official SDL_image repository on GitHub: Проверьте и скачайте последнюю версию (3.4.8) напрямую со страницы релизов SDL_image на GitHub:

Open SDL3_image Releases (GitHub) Открыть релизы SDL3_image (GitHub) Direct Download SDL3_image-3.4.8 (.zip) Прямое скачивание SDL3_image-3.4.8 (.zip)

Warning: Внимание: Download the official release archive SDL3_image-3.4.8.zip attached under "Assets", not the auto-generated GitHub "Source code" (.zip/.tar.gz) archives, as they lack necessary generated files and dependencies. Скачивайте официальный архив релиза SDL3_image-3.4.8.zip, прикреплённый в блоке «Assets», а не автоматически сгенерированные исходные коды GitHub «Source code» (.zip/.tar.gz), так как в них отсутствуют необходимые сгенерированные файлы и зависимости.

Extract the downloaded archive to a convenient directory on your machine. Распакуйте скачанный архив в удобную директорию на вашем компьютере.

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

In the root directory of the extracted SDL3_image source folder, create an empty file named build-android-64-bit.bat and paste the following content into it: В корневой директории распакованного исходного кода SDL3_image создайте пустой файл build-android-64-bit.bat и вставьте в него следующее содержимое:

@echo off
set NDK=H:/AndroidSDK/ndk/28.2.13676358
set WEBP_PATH=C:/libs/webp-1.6.0-android/arm64-v8a

set BUILD_DIR=build-android-64

if exist %BUILD_DIR% rmdir /s /q %BUILD_DIR%
mkdir %BUILD_DIR%
cd %BUILD_DIR%

cmake .. ^
  -DCMAKE_TOOLCHAIN_FILE=%NDK%/build/cmake/android.toolchain.cmake ^
  -DSDL3_DIR="C:/libs/sdl3-3.4.18-android/arm64-v8a/lib/cmake/SDL3" ^
  -DCMAKE_PREFIX_PATH="%WEBP_PATH%" ^
  -Dwebp_DIR="%WEBP_PATH%/share/WebP/cmake" ^
  -Dwebp_ROOT="%WEBP_PATH%" ^
  -DANDROID_ABI=arm64-v8a ^
  -DANDROID_PLATFORM=android-21 ^
  -DBUILD_SHARED_LIBS=ON ^
  -DSDLIMAGE_SAMPLES=OFF ^
  -DSDLIMAGE_TESTS=OFF ^
  -DSDLIMAGE_WEBP=ON ^
  -DSDLIMAGE_VENDORED=OFF ^
  -DSDLIMAGE_BACKEND_IMAGEIO=OFF ^
  -DCMAKE_BUILD_TYPE=Release ^
  -DCMAKE_INSTALL_PREFIX=C:/libs/sdl3_image-3.4.8-webp-android/arm64-v8a ^
  -G "MinGW Makefiles"

cmake --build . --config Release --parallel --target install
Note: Примечание: Ensure that the path variables (NDK, WEBP_PATH, SDL3_DIR, and CMAKE_INSTALL_PREFIX) match your local directory structure. Убедитесь, что переменные путей (NDK, WEBP_PATH, SDL3_DIR и CMAKE_INSTALL_PREFIX) соответствуют вашей локальной структуре каталогов.

Step 3: Run and Compile Шаг 3: Запуск и сборка

Run build-android-64-bit.bat via Command Prompt (CMD) so you can catch any potential compilation errors in the console. Once completed, your compiled shared library (libSDL3_image.so) along with headers will be installed in the output path set by CMAKE_INSTALL_PREFIX. Запустите build-android-64-bit.bat через командную строку (CMD), чтобы вы могли увидеть возможные ошибки сборки прямо в консоли. После завершения собранная динамическая библиотека (libSDL3_image.so) вместе с заголовочными файлами будет установлена по пути, указанному в CMAKE_INSTALL_PREFIX.


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