You really don't need to prefix everything with the same prefix everywhere, even in C. Using a per-module prefix that is unlikely to clash is enough.
For your vector and quaternion libs... You should make them header only, all static inline functions and perhaps with always_inline attribute if you care about performance. This also removes any need for prefixes.