There's an related question to which I answered:
#pragma once
does have one drawback (other than being non-standard) and that is if you have the same file in different locations (we have this because our build system copies files around) then the compiler will think these are different files.
I'm adding the answer here too in case someone stumbles over this question and not the other.