3 ms·
In any environment where compilation and linking is separate (this covers both static and dynamic linking, it's not just a shared library problem), you have man
by structural 5y ago
In any environment where compilation and linking is separate (this covers both static and dynamic linking, it's not just a shared library problem), you have many situations where a final application is assembled from a set of binaries that were compiled on different machines.
This means that realistically, even if every machine only has one C++ compiler installed, binaries compiled with different compilers will need to be able to interface with one another. Changing a language's ABI is a really, really big deal and not having a defined ABI at all is even worse.