As the title says, cpp_binder is a tool that generates C++ bindings. It
reads C++ headers and produces a D file filled with "extern(C++)"
declarations. It can translate a bunch of cool, small examples, but is
not close to being ready for prime-time. It crashes a lot, especially
in the STL; since the STL is pretty pervasive, I have not successfully
used cpp_binder on an actual C++ library.
I've written more about cpp_binder and my experiences at
The code is available at https://github.com/todayman/cpp_binder .
cpp_binder still dumps lots of debugging info to stdout and stderr, so
you'll probably want to redirect those somewhere beesides your console.
I hope that this post will spur discussion / decisions / action binding
C++ libraries into D. I think the language capabilities (e.g.
extern(C++, namespace)) get really far and that the next big push needs
to be on binding real libraries and tools to help.
Github / IRC: todayman