A runtime for C++ applications.

Vix.cpp provides a coherent way to build, run, and operate C++ applications throughout their lifecycle, while working with the C++ ecosystem you already use.

01

From one file to a project.

Run a C++ source file directly, or use Vix.cpp with a complete project.

  • Run a single .cpp file with vix run.
  • Build and test project targets.
  • Existing CMake projects can remain CMake-first.
02

Manage project dependencies.

Install and lock C++ dependencies without replacing the build system your project already uses.

  • Install Registry or Git dependencies.
  • Use installed dependencies from existing CMake projects.
  • Keep resolved dependency state in vix.lock.
03

From build to production.

Build, deploy, and operate C++ backend applications through the Vix.cpp workflow.

  • Deploy with vix deploy.
  • Manage services, reverse proxies and health checks.
  • Inspect production state and logs with vix.
main.cpp
C++
1#include<future>
2#include<iostream>
3#include<thread>
4
5intmain()
6{
7    std::promise<int> promise;
8    auto future = promise.get_future();
9
10    std::thread worker([p =std::move(promise)]() mutable {});
11    worker.join();
12
13    std::cout << future.get() <<'\n';
14}
Terminal Vix
$vix run main.cpp
runtime error: broken promise
--> /home/softadastra/tmp/vix/main.cpp:7:5
5 | int main()
6 | {
7 |     std::promise<int> promise;
  |     ^
8 |     auto future = promise.get_future();
hint: set a value or exception before destroying the promise, or keep the promise alive until fulfillment

Why Vix.cpp?

Vix.cpp works with the C++ ecosystem you already use, while giving applications a clearer lifecycle and better visibility when something goes wrong.

01

Keep your C++ stack.

CMakeGCC / Clangyour librariesworks with
Vix.cpp

Use CMake, GCC or Clang, and the C++ libraries your project already depends on. Vix.cpp does not require you to move into a separate ecosystem.

02

One application lifecycle.

buildruntestdeployinspectVix.cpp

Use the same Vix.cpp workflow as the application moves from development to execution and production.

03

See what actually failed.

compilerruntimedependenciesbuildproduction
Vix.cpp
causelocationhint

Vix.cpp connects failures from different parts of the application lifecycle to the cause, location, and information you can act on.

Build it in Vix.cpp

Vix.cpp focuses on two areas where it is designed to provide a clear development experience from the first lines of code to a complete project.

Web & Networked Applications

Build connected applications in C++ with a development workflow that remains clear as the project grows and reaches production.

Building Applications

Developer Tools

Build tools in C++ without making project setup, dependencies, testing, and distribution the hardest part of the work.

Building Tools

Vix.cpp in production

Vix.cpp is built for real C++ applications that move beyond development and need to keep running. Its production experience is shaped by real-world use, continuous validation, and the problems that appear when software is deployed and operated over time.

Latest release

Vix.cpp v2.9.0

A release about ownership.

Vix.cpp v2.9.0 clarifies responsibility across the build system, networking, SDK packaging, and mobile platform support.

Build

Vix focuses on project intent while CMake and Ninja own the concrete compilation graph.

Requests

The asynchronous HTTP path now remains asynchronous throughout the operation.

SDKs

SDKs own more of their internal dependencies and expose a cleaner consumer contract.

Mobile

Android and iOS support works with their native Gradle and Xcode toolchains.

Community

Meet the Vix.cpp community.

Meet people using and exploring Vix.cpp, ask questions, share what you build, and exchange ideas around C++ development.

Explore the Community
Softadastra

Vix.cpp is maintained by Softadastra.

Softadastra is the organization responsible for the long-term development and stewardship of Vix.cpp. It supports the project's engineering, infrastructure, and direction while Vix.cpp remains open source.

Learn about Softadastra

Sponsors

Help build a better C++ development experience.

Vix.cpp is open source and developed continuously. If Vix.cpp helps your work, or you want better C++ tooling to exist, sponsorship gives Softadastra more time and resources to improve, test, maintain, and support the project for everyone.

Sponsor Vix.cpp

Individuals and organizations can sponsor Vix.cpp. Sponsors can also be recognized here.

Get started with Vix.cpp

Start with a single C++ file or use Vix.cpp with an existing project.