Skip to main content
Jump to: navigation, search

BaSyx / Download / Cpp Setup

How to build the BaSyx C++ SDK

The BaSyx C++ SDK is now using CMake to generate and control its building process. This article will detail on how to build the C++ SDK from a fresh checkout.


The BaSyx C++ SDK requires the following dependencies to successfully build:

  1. A C++11 compiler (GCC, Clang, etc.)
  2. CMake (version >=3.11.0) (

BaSyx C++ SDK Build Switches

The following switches can be applied during the generation step to control the building process of the BaSyx C++ SDK:

BASYX_BUILD_TESTS [ON/OFF] (default=ON): Specifies if unit tests are to be build

BASYX_UTILITY_PROJECTS [ON/OFF] (default=OFF): Specifies if BaSyx utility targets for (if installed) cppcheck and clang-tidy static code analysis are to be generated.

Generating Build Files

The following section describes the different approaches on how to generate the build files.

Command Line Client

This section describes how to generate and build the BaSyx C++ SDK from a fresh checkout using the command line.

For this apporach an out-of-source build is recommended, but not necessary.

From a command line invoke the following commands:

git clone basyx

mkdir build && cd build

cmake ../basyx/sdks/c++/

This will generate and create the systems default build files (e.g. Makefiles on UNIX systems) in the previously created build folder.

The C++ SDK can then be built using (in the case of UNIX Makefiles):

make -j8

or in a more general, platform agnostic way using:

cmake --build .

Build switches can be supplied during the generation step on the command line like this:


The -G flag can be used to specify the build system for which the build files are generated. An example generating Makefiles for MinGW from the command line looks like this:

cmake -G"MinGW Makefiles" ../basyx/sdks/c++/

For more information regarding the different generators and CMake in general refer to

CMake Graphical User Interface

Integration in Eclipse CDT IDE

For seamless integration of the CMake process inside the Eclipse CDT IDE usage of the following plugins is recommended:

The following steps detail how to setup the BaSyx C++ SDK in the Eclipse CDT IDE by using the cmake-eclipse-helper plugin:

  1. Check out the BaSyx SDK from Git inside Eclipse
  2. In the Eclipse Git view navigate to the BaSyx C++ SDK and import the directory into the workspace, as seen in the following picture:
    Basyx cpp eclipse import cc.png
  3. Leave the settings in the Import dialog as they are and import it as a generic project by just pressing the Finish button, as highlighted in the following picture:
    Basyx cpp eclipse import cc 2.png
  4. Windows user might need to configure the cmake-eclipse-helper plugin to use MinGW Makefiles before the next step. For this, open Eclipse's settings dialog through Window -> Preferences and select the CMakeHelper Node on the left side.
    There the desired build system can be specified, as seen in the following picture. This setting will be used for the generation of the project files in Eclipse.
    Basyx cpp cmake eclipse 1.png
  5. Change back to the project perspective and right click the root directory of the imported C++ SDK and select CMake -> Setup, as seen in the following picture:
    Basyx cpp cmake eclipse 2.png

This will setup the C++ project inside Eclipse, including the generation of the project files, indexer settings and import of all Build Targets, as specified in the CMakelists. Changes in the CMakelist files will be automatically picked up by the system and the project will be re-generated during the building step.


Cross-compilation with Toolchain File

Tested Compilers

The BaSyx C++ SDK was successfully tested and built using the following compilers:

  • GCC (version 8.2.1 20181127)
  • Clang (version 7.0.1)
  • MinGW (v?.??)

Back to the top