It sounds like you are mixing object files compiled with different C++
library headers, e.g, one object file compiled with clang and its
libc++, and another object file compiled with gcc and its libstdc++.
That generally doesn't work.
As far as I understand, there's no such thing as a standard C++ ABI.
You have to arrange so that all your C++ source files are compiled
using the same compiler and C++ library. Sometimes you even have to
use the same version of the compiler; you have to consult the
documentation for the compiler you're using to see what ABI
compatibility it promises between versions.