This seems to happen a lot to projects that are written in C++ but have C APIs. Another good example of this would be ZeroMQ. I wonder why this happens.
"If you insist on sticking to a conventional C style of C++ code, you’ll get conventional C-style problems" - Bjarne Stroustrup (http://www.informit.com/articles/article.aspx?p=2080042)
The problem is that there is no standard ABI call for C++, as implentation is vendor-specific (it may change even for same vendor between different compiler versions (!)). It would be hard to "fix" that, e.g. virtual function tables, exceptions, etc. For standard bindings, C is the only sane option.