# Rb++ / RbGCCXML 1.0

**URL:** <https://www.ruby-forum.com/t/rb-rbgccxml-1-0/194121>\
**Category:** Ruby\
**Created:** [August 30, 2010, 6:40pm UTC](https://www.ruby-forum.com/t/rb-rbgccxml-1-0/194121 "2010-08-30T18:40:11Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jruyle](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/d2c977/32.png) [@jruyle](https://www.ruby-forum.com/u/jruyle)\
**Post date:** [August 30, 2010, 6:40pm UTC](https://www.ruby-forum.com/t/rb-rbgccxml-1-0/194121/1 "2010-08-30T18:40:11Z")

</div>

What is rb++ / rbgccxml?

Rb++, rbgccxml, and rice compose a suite of tools that make wrapping  
C++ libraries into  
Ruby extensions as simple as possible. This is built as a replacement  
for SWIG-Ruby.

What’s New

- Full 1.9.2 support.
- MinGW / MSYS build support on Windows.
- Lots of tweaks and bug fixes.

rb++:  
\* Support for Rice::define\_implicit\_cast  
\* Re-added indentation and styling of the generated C++ code, should  
be a little easier to read.

rbgccxml:  
\* Now using SAX to parse XML instead of DOM. Startup speed can be  
slow as the XML tree gets  
built into memory but overall parsing and querying, especially of  
very large libraries, is  
many times faster.

Project

Documentation: [http://rbplusplus.rubyforge.org](http://rbplusplus.rubyforge.org)

rb++: [GitHub - jameskilton/rbplusplus: Account name changed!](http://github.com/jameskilton/rbplusplus)  
rbgccxml: [GitHub - jameskilton/rbgccxml: Account name changed!](http://github.com/jameskilton/rbgccxml)

Installation

This single command will grab the whole stack needed for rb++ to work.

```
gem install rbplusplus

```

The stack includes four libraries: rb++, rbgccxml, gccxml\_gem, and  
rice

rb++

Rb++ makes it almost trivially easy to create Ruby extensions for C++  
library.  
In the simplest of cases, there is no need to ever touch C++,  
everything is done  
in a very simple and clean Ruby API.

rbgccxml

RbGCCXML allows one to easily parse out and query C / C++ code.  
This library uses GCC-XML to parse out the C / C++ code into XML, and  
then nokogiri  
to parse and query that XML.

gccxml\_gem

GCC-XML ([www.gccxml.org](http://www.gccxml.org)) is an application that takes takes the parse  
tree of C / C++  
and constructs a very parsable and queryable XML file with all related  
information.

This gem includes a binary build of GCC-XML for supported platforms,  
to make it trivially easy to install. Platforms currently supported  
are:

```
* Linux 32 & 64 bit
* Mac OS X
* Windows via MinGW / MSYS

```

Rice

The Ruby Interface for C++ Extensions, it provides a C++ API for  
working with ruby. More information  
available at its project page:

```
http://rice.rubyforge.org

```

Notes

Released under the MIT licence.

For those familiar with py++ / pygccxml, the similarities are in  
function only.  
Rb++ / rbgccxml were written from scratch to take advantage of the  
Ruby language to it’s fullest.

Bugs, patches, feature requests, et al should be posted to the  
corresponding project’s Issues page on github.
