I have trying to compile the library in a header only style (I know it's unsupported but it is very close to one) and alongside #76 in OBB.cpp and Polyhedron.cpp we define hash_edge in each which means in header only style would lead to a redefinition error. To make other modes of compilation styles possible to I would recommend we move hash_edge outside of the files to a header file.