Scheduled invoices

Derek Atkins warlord at MIT.EDU
Thu Dec 18 08:57:49 CST 2003

Lionel Elie Mamane <lionel at> writes:

> Nope, because the engine would depend only on the prototype of the
> "make invoice" function, not on its precise definition /
> implementation. The engine would #include the right business/foo.h
> file, and that's it.

Except that doesn't work when a() and b() are in different shared objects!

> Try this:


> The same dependency loop between A.cpp and B.cpp, eh? This compiles
> like this:
> g++ -Wall -c -o A.o A.cpp
> g++ -Wall -c -o B.o B.cpp
> g++ A.o B.o

You're now linking those two .o files at compile time, which is NOT how
gnucash is put together.  Build A.o into, B.o into, and then
have main ldopen() and and see if you can get it to work!

> Or maybe I misunderstood your remark.
> This discussion is a bit theoretical anyway, as the "no business code
> in the engine" condition forbids it.

True, but it's not as theoretical as you would think.

> Lionel


       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL:    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available

More information about the gnucash-devel mailing list