Both right. Though I'm first trying to solve the horrible compiler bugs that I can only reproduce on linux. On OSX it builds fine under both clang and gcc. The header guards don't fix it though...