dlopen error with newly introduced (but still unused) c++ class

Geert Janssens geert.gnucash at kobaltwit.be
Mon Feb 1 13:56:07 EST 2016


On Sunday 31 January 2016 12:34:17 Rob Gowin wrote:
> Geert,
> 
> The reason you are not seeing these errors at link time is because, as
> Derek hinted at, when you link a shared object, the link step is only
> checking that the object files in the shared object are internally
> consistent. It will not check that any external symbols that are used
> are actually available.
> 
> Without the extern "C" you will encounter runtime crashes in the CSV
> importer when you try to access a function that your code thinks is
> C++, but the core thinks is C. This will be similar to the runtime
> errors you ran into a couple of months ago (
> http://lists.gnucash.org/pipermail/gnucash-devel/2015-December/039239.
> html) that I fixed with a PR to handle some extern "C" issues.
> 
Thanks for pointing that out. I didn't associate that build issue with my current work...

And thanks for the elaborate explanation of what is going on and why it didn't show 
during compilation and linking. Very insightful.

Geert


More information about the gnucash-devel mailing list