Add forward declarations.

Now more strict with preprocessor definition error checking.