Hacker News new | ask | show | jobs
by PaulDavisThe1st 1254 days ago
It can't be done for C++ unless you massively constrain the problem.

Trivial example: libfftw3 has --enable-threads and --enable-float configure/compile time options. Your project may need/want both, one or neither of these options (it may, in fact, want two different versions of the library).

Rust "proposes" to deal with this by essentially compiling its libraries as a part of building your project (ie. "vendoring" every 3rd party library dependency).

Most C++ developers don't consider vendoring in this way to be particularly sane, even though many of us do it anyway.

1 comments

I have tried to figure out how to use Nix as a package manager to deal with this, but it is still too much wizardry for me to wrap my head around.