#pragma once is safer and simpler. According to Wikipedia it's supported by all major compilers.
Specifically, put the version dependent code in some macros, and put that plus the `y' and `ystr' macros in a separate file, `yajl_utils.h'.