Building WebP Static Library for WebAssembly (Emscripten & CMake) Сборка статической библиотеки WebP для WebAssembly (Emscripten и CMake)

A guide to compiling WebP source code into a static library (libwebp.a) for WebAssembly using Emscripten and CMake. Руководство по компиляции исходного кода WebP в статическую библиотеку (libwebp.a) для WebAssembly с помощью Emscripten и CMake.

If you haven't set up MinGW and CMake on your machine, follow the Если вы еще не настроили MinGW и CMake на своем компьютере, следуйте инструкции: MinGW & CMake Setup Guide Руководство по настройке MinGW и CMake
If you haven't set up Emscripten SDK and CMake on your machine, follow the Если вы еще не настроили Emscripten SDK и CMake на своем компьютере, следуйте инструкции: Emscripten & CMake Setup Guide Руководство по настройке Emscripten и CMake

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

Download the latest WebP source archive (.zip or .tar.gz) from the official GitHub tags page: Скачайте последний архив с исходным кодом WebP (.zip или .tar.gz) с официальной страницы тегов GitHub:

Download WebP Releases Скачать релизы WebP

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 WebP source folder, create an empty file named build-wasm-static.bat and paste the following content into it: В корневой директории распакованного исходного кода WebP создайте пустой файл build-wasm-static.bat и вставьте в него следующее содержимое:

@echo off

if not exist build-wasm-static mkdir build-wasm-static
cd build-wasm-static

:: Clean old cache completely
if exist CMakeCache.txt del CMakeCache.txt
if exist CMakeFiles rmdir /s /q CMakeFiles

call emcmake cmake .. ^
  -DBUILD_SHARED_LIBS=OFF ^
  -DWEBP_BUILD_CWEBP=OFF ^
  -DWEBP_BUILD_DWEBP=OFF ^
  -DWEBP_BUILD_GIF2WEBP=OFF ^
  -DWEBP_BUILD_IMG2WEBP=OFF ^
  -DWEBP_BUILD_VWEBP=OFF ^
  -DWEBP_BUILD_WEBPINFO=OFF ^
  -DWEBP_BUILD_WEBPMUX=OFF ^
  -DWEBP_BUILD_ANIM_UTILS=OFF ^
  -DWEBP_BUILD_EXTRAS=OFF ^
  -DWEBP_BUILD_LIBWEBPMUX=ON ^
  -DWEBP_NEAR_LOSSLESS=ON ^
  -DWEBP_ENABLE_SIMD=OFF ^
  -DCMAKE_BUILD_TYPE=Release ^
  -DCMAKE_INSTALL_PREFIX=C:/libs/webp-1.6.0-wasm ^
  -G "MinGW Makefiles"

call cmake --build . --config Release --parallel 8 --target install

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

Run build-wasm-static.bat via Command Prompt (CMD) in an environment with EMSDK activated so you can catch any potential compilation errors in the console. Once completed, your compiled WebAssembly static libraries (such as libwebp.a, libwebpmux.a) along with headers will be installed in the output path set by CMAKE_INSTALL_PREFIX. Запустите build-wasm-static.bat через командную строку (CMD) в окружении с активированным EMSDK, чтобы вы могли увидеть возможные ошибки сборки прямо в консоли. После завершения собранные статические библиотеки WebAssembly (такие как libwebp.a, libwebpmux.a) вместе с заголовочными файлами будут установлены по пути, указанному в 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