If _XOPEN_SOURCE_EXTENDED or _XOPEN_SOURCE are defined, _POSIX_C_SOURCE gets
defined in DECC$TYPES.H. If _POSIX_C_SOURCE is defined, certain types do not get defined (u_char, u_int, ...). DECC.H gets included by assert.h and others. Now, in6.h uses the types u_char, u_int and so on, and gets included as part of other header inclusions, and will of course fail because of the missing types. On the other hand, _XOPEN_SOURCE_EXTENDED is needed to get gethostname() properly declared... Solution: define _XOPEN_SOURCE_EXTENDED much later, so DECC$TYPES.H has a chance to be included *first*, so the otherwise missing types get defined properly. Personal: *mumble* *mumble*
Showing
想要评论请 注册 或 登录