Skip to content

Nebula CPP

Nebula CPP is a C++ client for connecting to and managing the NebulaGraph database.


  • You have installed C++ and GCC 4.8 or later versions.

Compatibility with NebulaGraph

NebulaGraph version Nebula CPP version
3.0.1 3.0.0
2.6.x 2.5.0
2.5.x 2.5.0
2.0.x 2.0.0

Install Nebula CPP

  1. Clone the Nebula CPP source code to the host.

    • (Recommended) To install a specific version of Nebula CPP, use the Git option --branch to specify the branch. For example, to install v3.0.0, run the following command:

      $ git clone --branch v3.0.0
    • To install the daily development version, run the following command to download the source code from the master branch:

      $ git clone
  2. Change the working directory to nebula-cpp.

    $ cd nebula-cpp
  3. Create a directory named build and change the working directory to it.

    $ mkdir build && cd build
  4. Generate the makefile file with CMake.


    The default installation path is /usr/local/nebula. To modify it, add the -DCMAKE_INSTALL_PREFIX=<installation_path> option while running the following command.

    $ cmake -DCMAKE_BUILD_TYPE=Release ..


    If G++ does not support C++ 11, add the option -DDISABLE_CXX11_ABI=ON.

  5. Compile Nebula CPP.

    To speed up the compiling, use the -j option to set a concurrent number N. It should be \(\min(\text{CPU}core number,\frac{the_memory_size(GB)}{2})\).

    $ make -j{N}
  6. Install Nebula CPP.

    $ sudo make install
  7. Update the dynamic link library.

    $ sudo ldconfig

Use Nebula CPP

Compile the CPP file to an executable file, then you can use it. The following steps take using SessionExample.cpp for example.

  1. Use the example code to create the SessionExample.cpp file.

  2. Run the following command to compile the file.

    $ LIBRARY_PATH=<library_folder_path>:$LIBRARY_PATH g++ -std=c++11 SessionExample.cpp -I<include_folder_path> -lnebula_graph_client -o session_example
    • library_folder_path: The storage path of the NebulaGraph dynamic libraries. The default path is /usr/local/nebula/lib64.
    • include_folder_path: The storage of the NebulaGraph header files. The default path is /usr/local/nebula/include.

For example:

$ LIBRARY_PATH=/usr/local/nebula/lib64:$LIBRARY_PATH g++ -std=c++11 SessionExample.cpp -I/usr/local/nebula/include -lnebula_graph_client -o session_example

Core of the example code

This sub-section shows the core of the example code. For all the code, see SessionExample.

Last update: March 13, 2023
Back to top