Compile errors can be generated using the preprocessor. This is useful for a number of reasons some of which include, notifying a user if they are on an unsupported platform or an unsupported compiler.
e.g. Return Error if gcc version is 3.0.0 or earlier.
#if __GNUC__ < 3
#error "This code requires gcc > 3.0.0"
#endif
e.g. Return Error if compiling on an Apple computer.
#ifdef __APPLE__
#error "Apple products are not supported in this release"
#endif