Gnucash c++

Aaron Laws dartme18 at
Wed Aug 6 13:26:14 EDT 2014

On Tue, Aug 5, 2014 at 2:04 PM, John Ralls <jralls at> wrote:

> Aaron,
> I've pulled and begun testing your guidcpp branch. It looks good, and I
> expect to merge it to master today or Thursday.

Excellent! :-)

> What is the motivation for compiling everything as C++ if it's still
> really C and you have to wrap everything in extern "C" {} to get it to
> link, especially in gnome and register directories, which can't be
> converted to C++?

The only extern "C"s in c++-debug branch are for SCM and module entry
points, and only the latter is for more than one declaration. That comes up
to 13 functions that are declared extern "C" ?

The motivation is to investigate a different strategy for migrating to C++.
I was skeptical that it would work at all, but, through argument, I
couldn't come up with any solid reasons why it couldn't work, so I decided
to give it a go. The strategy is:
Step 1) Get the project to compile as C++. Step 2) add poison to remove non
c++ idioms, etc. Step 3) Make higher level changes.
And the strategy entails that these steps are followed quite strictly. So
far, I don't consider Step 1 complete, because although the project
compiles and links, it's not shippable ... perhaps not even close :-).
Like... nothing works.

To be clear, I'm just answering your question, not actually proposing this
strategy. If it goes well, it is naturally up to the development team to
adopt such a strategy.

Thanks for the response! I kept my response brief, but anyone feel free to
ask more questions. I spent the last three days or so catching up on
gnucash mailing list items (you've perhaps seen my replies, etc.), and now
I can get back to looking at the code!

In Christ,
Aaron Laws

More information about the gnucash-devel mailing list