add stddef include to get offsetof on non-windows platforms