C/C++
You can use Wasmer in your C and C++ projects to interact with WebAssembly modules easily.
Some of our language extensions are using the Wasmer C integration under the hood:
Some community made language extensions are also using the Wasmer C integration:
See Wasmer C API documentation
To build C applications that use the Wasmer runtime as a host for guest Wasm modules, you will need a C compiler installed (
clang
or gcc
, for example). Check the compiler installation instructions here.Starting with Wasmer 1.0 all the releases ship with the required libraries and headers to use Wasmer from C and C++.
If you haven't yet, let's install Wasmer:
curl https://get.wasmer.io -sSfL | sh
Once Wasmer is installed, you can get the
pkg-config
easily:$ wasmer config --pkg-config
prefix=/Users/USER/.wasmer
exec_prefix=/Users/USER/.wasmer/bin
includedir=/Users/USER/.wasmer/include
libdir=/Users/syrus/.wasmer/lib
Name: wasmer
Description: The Wasmer library for running WebAssembly
Version: 3.0.0
Cflags: -I/Users/USER/.wasmer/include/wasmer
Libs: -L/Users/syrus/.wasmer/lib -lwasmer
- Linux:
wasmer-linux-amd64.tar.gz
orwasmer-linux-aarch64.tar.gz
- macOS:
wasmer-darwin-amd64.tar.gz
orwasmer-darwin-arm64.tar.gz
- Windows:
wasmer-windows.tar.gz
Once you have downloaded the framework, you can now extract its contents and set the
WASMER_DIR
environment variable to the path of the wasmer directory (this will be very useful when running the examples):# Extract the contents to a dir
mkdir wasmer
tar -C wasmer -zxvf wasmer-*.tar.gz
export WASMER_DIR=$(pwd)/wasmer
# Update LD_LIBRARY_PATH to link against the libwasmer.so in the examples
export LD_LIBRARY_PATH=$WASMER_DIR/lib/:$LD_LIBRARY_PATH
First, you can test if
clang
or gcc
is installed already by running:gcc --version
If this command does not return the version, then see the following:
gcc
/ clang
is usually installed by default. However, if it is not, you can install gcc/clang by installing xcode-select on your mac.To install gcc on a Debian based, you will want to run the following:
sudo apt-get install build-essential
Gcc should be installable on your favorite linux distro as well. Please search for the correct command for your desired distribution.
To install gcc on Windows, you will probably want to install a GNU environment on windows. We suggest using MinGW.
gcc --version
# This should output: "ATTRIBUTIONS LICENSE bin include lib"
ls $WASMER_DIR
If these commands work, The compiler and the Wasmer C API are successfully installed!
Next, let's take a look at some examples!
Last modified 7mo ago