My example wrapped the Postgres #include's, the PG_MODULE_MAGIC call, and the PG_FUNCTION_INFO_V1 call(s) in extern "C" { ... }. I'm pretty sure you need to do all three of those things to get a working result without mangled external function names.
I wrapped my entire file - #includes and all - in extern "C" { ... } and it worked perfectly. Thanks very much for your assistance and patience.