Hi Shifeng, The problem is, that _cplusplus is not defined by g++ during compilation, so it never sees the extern "C" directive. It is most likely just a typo, as the macro __cplusplus is defined by g++ during compilation. You simply need to add one more leading _ to your ifdefs, and it will work nicely. Yours sincerely, Bjorn