[gnucash-de] Nutzung der C-API

Christian Stimming christian at cstimming.de
Fr Nov 8 16:27:13 EST 2019


Hallo,

in 2012 hatte ich für genau diesen Zweck mal eine einführende Wikiseite 
zusammengestellt:
https://wiki.gnucash.org/wiki/Using_the_API
Die stimmt auch weiterhin noch, außer dass das damals "cutecash" genannte C++ 
Projekt inzwischen wieder längst verschwunden ist, aber die C API passt noch 
ziemlich so wie beschrieben.

Am Donnerstag, 7. November 2019, 07:15:08 CET schrieb Klaus Kübler:
> Übersetzen lässt sich der Code, ich erhalte aber immer die Fehlermeldung
>      Error: 1 on gnuCashSession->begin(
> "/home/klaus/Downloads/gnucashxml.gnucash" ,false, false, false)
>      Error message: "failed to get_backend using access method \"file\""
> Wenn ich dem GnuCash Dateinamen xml:// voranstelle erhalte ich eine
> vergleichbare Fehlermeldung:
>      Error message: "failed to get_backend using access method \"xml\""
> 
> Wo ist mein Fehler? Ich kann in der Dokumentation keinen Hinweis finden.

Der Fehler liegt darin, dass du zusätzlich zum gncmod-engine auch noch das 
libgncmod-backend-xml reingelinkt haben musst für die "xml backend functions". 
Andernfalls hat man zwar aus gncmod-engine das Datenmodell, aber nicht die 
Serialisierungs-Funktionen von und nach XML. Für das in der Wikiseite 
beschriebene C++ Projekt wird daher diese library mit reingelinkt, und man 
muss das dann auch noch irgendwie registrieren, äh... das war mal die Funktion 
gnc_module_init_backend_xml() aus ./libgnucash/backend/xml/gnc-backend-xml.h, 
die musst du in deinem Code also auch aufrufen.

Gruß
Christian




Mehr Informationen über die Mailingliste gnucash-de