C++ names decoration is a problem. no_mangle refers to Rust (i.e. it's useful for calling Rust code from other languages). Rust has no control over C++ names mangling.
Calling into C++ is generally a big problem in any programming language though, and for most, you have to write a C wrapper.