Skip to main content

What is xtd? Introduction and overview

xtd is a free, cross-platform, open source developer platform for building many kinds of applications. xtd is built on the C++ Standard library a high-performance third-party libraries when needed.

Desktop applications

  • Console applications
  • Desktop applications (GUI)
  • Test Applications


  • Free and open-source (MIT License);
  • a collection of native C++ classes libraries, to extend std;
  • API close to the .net API with a modern C++ approach and full integration with the std standard;
  • xtd is designed to manage GUI controls and dialogs in pure native mode or with CSS styles.
  • written in efficient, modern C++17 / C++20 with RAII programming idiom;
  • and highly portable and available on many different platforms;

Using xtd

xtd apps and libraries are built from source code and a CMake project file, using the xtdc CLI or an Integrated Development Environment (IDE) like Visual Studio, Xcode, ...

The following example is a minimal xtd app:

CMakeLists.txt file:

cmake_minimum_required(VERSION 3.3)

find_package(xtd REQUIRED)

app.cpp file:

#include <xtd/xtd>

auto main()->int {
xtd::console::write_line("Hello, World!");

The app can be built and run with the xtdc CLI:

%xtdc run
Hello, World!

It can also be built and run as two separate steps. The following example is for an app that is named app:

% xtdc build
% ./build/Debug/app
Hello, World!

Free and open source


You can write xtd apps in modern C++17 or above and C (For more info about c binding see xtd_c project.

  • C++17 is a simple, modern, object-oriented, and type-safe programming language (For more information about c++ see cppreference).
  • C is an approachable language with a simple syntax for building type-safe (For more information about c see cppreference).


The compilers listed below are supported with xtd :

  • MSVC 2019 or later
  • clang version 11.0.3 (clang-1103.0.32.62) - Xcode 11.6 or later
  • GCC 10 or later

Other compilers can probably be used, but they have not been tested yet.


The xtd product family provides a great xtd development experience on macOS, Windows, and Linux.

With CMake, xtd support many Development Environment Tools.

xtd has some tools to help you in your development.


xtd can be used with various continuous integration tools and environments, such as:

Next step