Added compiler flags for GCC and MSVC
Removed redundant preprocessor defs
Added missing GCC linker flags