include c++ headers first (WDL define min and max this breaks the c++ macros)