This suggests there's missing includes in one of those headers.  You can probably figure out which one by moving them one by one.