Treat warnings as errors.
Don't unnecessarily include Qt definitions.
Mark external libraries as system headers.
Fix build error with clang.