Everything now compiles with -Werror.
Added pragma directives to remove warnings