When using the option -std=c++11 the compiler defined -D__STRICT_ANSI__ which removes the definition of off_t leaving only _off_t defined.
The compiler is correct to do that since off_t is not conforming to the standard.
This was confusing for me cause I wanted c++11 for the cool stuff like nullptr & lambdas. I didn't care about STRICT_ANSI at all.
The solution is to work with -std=gnu++11
(Another option is to just typedef off_t for the header files that need it typedef _off_t off_t;)