Add extern "C" to public headers