I'm starting to believe that one static/shared library should be produced by compiling exactly one cpp file. Go ahead and logically break your code into as many cpp files as you want. But there should then be a single cpp file that includes all other cpp files.
The whole C++ build model is terrible and broken. Everyone knows n^2 algorithms are bad and yet here we are.
The whole C++ build model is terrible and broken. Everyone knows n^2 algorithms are bad and yet here we are.