What do you struggle with the most in C++?

This page summarizes the projects mentioned and recommended in the original post on /r/cpp

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • cmake-init

    The missing CMake project initializer

  • You don't need to go for hours. You are probably just doing more than describing build and usage requirements in your lists files, which is the most common cause of issues. Granted, resources are scarce on how to structure the build tooling code and people always spend all their discipline on other parts of the project, so it's understandable people end up in this situation. In the meantime, may I interest you in cmake-init?

  • xmake

    🔥 A cross-platform build utility based on Lua

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • meson

    The Meson Build System

  • But also a lot of problems come from people not understanding that regardless of CMake and C++, how shared and static libraries work and why they work the way they work. For example, if your CMake project has multiple targets, one being the main export and another being just a "utilities" target of sorts, then you must do some extra work to make the main export target be installed properly when it is built as a static library. This has nothing to do with CMake or C++, but that fact that static libraries are "just" archives of object files that the linker will later roll into a "real" binary (shared library or executable). When you are creating a project you must account for propagating the "utility" target as well, because otherwise the consuming project will not get the code for the "utility" target that was linked to your main export PRIVATEly. I created an example repository on how to deal with this, because a Conan package maintainer was curious about why CMake was inserting $ genex into the installed export set.

  • fastbuild

    High performance build system for Windows, OSX and Linux. Supporting caching, network distribution and more.

  • It's not mentioned often but there's also FASTBuild. The DSL isn't that expressive, but it lives up to its names. It's like being shipped the parts for a Formula-1 car and a HOW-TO.txt.

  • tensorflow

    An Open Source Machine Learning Framework for Everyone

  • No. See https://github.com/tensorflow/tensorflow/

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts