use include guards and extern C in vecmat.h