C++ Quickstart#

This is a C++17 library providing an easy to use interface for working with XBE Core based services in your client application or library.

Dependencies#

This library makes use of the following dependencies:

Getting Started#

This project uses the cmake build system and configure presets to simplify cross-platform development. The following presets are supported based on which version of Visual Studio you are using:

Visual Studio 2019#

  • windows-debug-v142

  • windows-release-v142

Visual Studio 2022#

  • windows-debug-v143

  • windows-release-v143

To get started, simply run cmake with the desired preset you would like to build with:

cmake --preset <configurePreset-name>

Windows (Visual Studio)#

Visual Studio supports cmake directly. Simply open the CMakeLists.txt file (File -> Open -> CMake…) in Visual Studio and start generating with the desired preset. Next go to Build->Build All (Ctrl+Shift+B)

Alternatively, you can use the Visual Studio Command Prompt to build for you. Below is an example of how to do that:

./build.ps1

Linux#

When building for Linux the SDK requires clang v15 and uses the libc++ standard library instead of libstdc++.

To ensure you have all the correct packages you can use the following command.

Debian/Ubuntu#

sudo apt-get install \
  build-essential \
  clang-15 \
  clang-tools-15 \
  clang-format-15 \
  libc++-15-dev \
  libc++abi-15-dev \
  cmake \
  curl \
  git \
  ninja-build \
  pkg-config \
  zip \
  unzip -y

CentOS/RHEL#

sudo yum install \
  gcc \
  gcc-c++ \
  make \
  clang-15 \
  clang-tools-15 \
  clang-format-15 \
  libc++-15-dev \
  libc++abi-15-dev \
  cmake \
  curl \
  git \
  ninja-build \
  pkg-config \
  zip \
  unzip

Once those packages are installed simply run the build.sh script:

./build.sh

We highly recommend the LyraStarterGame sample which contains integration of Xsolla Backend into an Unreal project, which utilizes our sdk_cpp library directly.

Note

Looking for free, live support? `Join our discord https://discord.gg/XsollaBackend for staff and community surrounding the greater Xsolla Backend community; we’d love to get to know you and your project.