Cppcomponents

screenshot of Cppcomponents

Allows you to write binary components in C++11 that can be used across different compilers and standard libraries

Overview

Cppcomponents is a header-only, portable library that allows you to create binary C++ components that can be easily used across different compilers and different standard library implementations. It aims to provide a way to change or upgrade compilers or standard libraries without having to rebuild old libraries. Cppcomponents also allows you to use different compilers and standard libraries together, making integration easier. It supports constructors, static functions, std::string, std::vector, std::pair, std::tuple, cppcomponents::function as function parameters and return values, and exceptions. Components written using cppcomponents have built-in support for IUnknown, making them COM compatible.

Features

  • Portable: Cppcomponents is a header-only library that can be easily used with different compilers and standard libraries.
  • Compiler and Standard Library Compatibility: Cppcomponents allows you to use components compiled with different compilers and standard libraries together.
  • Support for C++11 Features: Cppcomponents supports constructors, static functions, std::string, std::vector, std::pair, std::tuple, cppcomponents::function as function parameters and return values, and exceptions.
  • COM Compatibility: Components written using cppcomponents have built-in support for IUnknown, making them COM compatible.
  • No Linking Required: There is no need to link to a component made with cppcomponents. Just include the header file in your code and copy the .dll or .so file to the same directory as your executable.

Summary

Cppcomponents is a header-only, portable library that allows you to create binary C++ components that can be easily used across different compilers and standard libraries. It provides a way to change or upgrade compilers or standard libraries without having to rebuild old libraries. Cppcomponents also supports using different compilers and standard libraries together, making integration easier. It supports various C++11 features, provides COM compatibility for components, and requires no linking. Installation instructions are provided for both Linux and Windows platforms.