I appologize for continually replying to my own mails but I finally made it.
The extern "C" block in main.cpp should not include system includes. A patch with my changes to make it work is attached. Herbert. Herbert Thoma schrieb: > Some more experiments: > > Qt 4.4.0 is not sufficient because it does not provide QSharedPointer, > so I installed Qt 4.6.2 and I inserted a #define HAVE_GUILE18 in > src/engine/engine-helpers.c. This way everything compiles but the very > final main.cpp. > > I do not really understand the error: > > [ 99%] Building CXX object src/gnc/CMakeFiles/cutecash.dir/main.cpp.o > In file included from /usr/include/c++/4.3/iosfwd:46, > from /usr/include/gmp.h:24, > from /usr/include/libguile.h:24, > from > /home/tma/gnucash/gnucash_cvs/cutecash/src/gnc/main.cpp:31: > /usr/include/c++/4.3/bits/stringfwd.h:48: error: template with C linkage > /usr/include/c++/4.3/bits/stringfwd.h:51: error: template with C linkage > /usr/include/c++/4.3/bits/stringfwd.h:54: error: template with C linkage > /usr/include/c++/4.3/bits/stringfwd.h:58: error: template specialization with > C linkage > /usr/include/c++/4.3/bits/stringfwd.h:63: error: template specialization with > C linkage > In file included from /usr/include/c++/4.3/iosfwd:47, > from /usr/include/gmp.h:24, > from /usr/include/libguile.h:24, > from > /home/tma/gnucash/gnucash_cvs/cutecash/src/gnc/main.cpp:31: > /usr/include/c++/4.3/bits/postypes.h:90: error: template with C linkage > /usr/include/c++/4.3/bits/postypes.h:193: error: template with C linkage > /usr/include/c++/4.3/bits/postypes.h:198: error: template with C linkage > In file included from /usr/include/gmp.h:24, > from /usr/include/libguile.h:24, > from > /home/tma/gnucash/gnucash_cvs/cutecash/src/gnc/main.cpp:31: > /usr/include/c++/4.3/iosfwd:51: error: template with C linkage > /usr/include/c++/4.3/iosfwd:54: error: template with C linkage > /usr/include/c++/4.3/iosfwd:57: error: template with C linkage > /usr/include/c++/4.3/iosfwd:60: error: template with C linkage > /usr/include/c++/4.3/iosfwd:63: error: template with C linkage > /usr/include/c++/4.3/iosfwd:66: error: template with C linkage > /usr/include/c++/4.3/iosfwd:70: error: template with C linkage > /usr/include/c++/4.3/iosfwd:74: error: template with C linkage > /usr/include/c++/4.3/iosfwd:78: error: template with C linkage > /usr/include/c++/4.3/iosfwd:82: error: template with C linkage > /usr/include/c++/4.3/iosfwd:85: error: template with C linkage > /usr/include/c++/4.3/iosfwd:88: error: template with C linkage > /usr/include/c++/4.3/iosfwd:91: error: template with C linkage > /usr/include/c++/4.3/iosfwd:94: error: template with C linkage > /usr/include/c++/4.3/iosfwd:97: error: template with C linkage > In file included from /usr/include/libguile.h:24, > from > /home/tma/gnucash/gnucash_cvs/cutecash/src/gnc/main.cpp:31: > /usr/include/gmp.h:2136: error: declaration of C function ‘std::ostream& > operator<<(std::ostream&, const __mpq_struct*)’ conflicts with > /usr/include/gmp.h:2135: error: previous declaration ‘std::ostream& > operator<<(std::ostream&, const __mpz_struct*)’ here > /usr/include/gmp.h:2137: error: declaration of C function ‘std::ostream& > operator<<(std::ostream&, const __mpf_struct*)’ conflicts with > /usr/include/gmp.h:2136: error: previous declaration ‘std::ostream& > operator<<(std::ostream&, const __mpq_struct*)’ here > /usr/include/gmp.h:2139: error: declaration of C function ‘std::istream& > operator>>(std::istream&, __mpq_struct*)’ conflicts with > /usr/include/gmp.h:2138: error: previous declaration ‘std::istream& > operator>>(std::istream&, __mpz_struct*)’ here > /usr/include/gmp.h:2140: error: declaration of C function ‘std::istream& > operator>>(std::istream&, __mpf_struct*)’ conflicts with > /usr/include/gmp.h:2139: error: previous declaration ‘std::istream& > operator>>(std::istream&, __mpq_struct*)’ here > make[2]: *** [src/gnc/CMakeFiles/cutecash.dir/main.cpp.o] Fehler 1 > make[1]: *** [src/gnc/CMakeFiles/cutecash.dir/all] Fehler 2 > make: *** [all] Fehler 2 > > Herbert. > > Herbert Thoma schrieb: >> Hi Christian, >> >> cool project! I tried to build cutecash and ran into some problems: >> >> I run SuSE 11.0 on this computer. SuSE 11.0 is not so old, however, it >> lacks your required minimum versions of glib and Qt. >> You require glib (and gobject, gmodule, gthread) 2.20.0 but GnuCash >> only requires 2.12.0. >> You require Qt 4.5.0 but I have only 4.4.0. >> I changed the minimum requirements in CMakeLists.txt to glib 2.12.0 >> and Qt 4.4.0 and cmake completed successfully. >> >> Compiling fails with the following error: >> [ 62%] Building C object src/engine/CMakeFiles/engine.dir/engine-helpers.c.o >> /home/tma/gnucash/gnucash_cvs/cutecash/src/engine/engine-helpers.c: In >> function ‘gnc_query2scm’: >> /home/tma/gnucash/gnucash_cvs/cutecash/src/engine/engine-helpers.c:1712: >> error: ‘scm_block_gc’ undeclared (first use in this function) >> /home/tma/gnucash/gnucash_cvs/cutecash/src/engine/engine-helpers.c:1712: >> error: (Each undeclared identifier is reported only once >> /home/tma/gnucash/gnucash_cvs/cutecash/src/engine/engine-helpers.c:1712: >> error: for each function it appears in.) >> /home/tma/gnucash/gnucash_cvs/cutecash/src/engine/engine-helpers.c: In >> function ‘gnc_scm2query_v2’: >> /home/tma/gnucash/gnucash_cvs/cutecash/src/engine/engine-helpers.c:2013: >> error: ‘scm_block_gc’ undeclared (first use in this function) >> make[2]: *** [src/engine/CMakeFiles/engine.dir/engine-helpers.c.o] Fehler 1 >> make[1]: *** [src/engine/CMakeFiles/engine.dir/all] Fehler 2 >> make: *** [all] Fehler 2 >> >> The problem are some section like this: >> #ifndef HAVE_GUILE18 >> --scm_block_gc; >> #endif >> in src/engine/engine-helpers.c >> >> Do you know how to check for the guile version and how to set the >> HAVE_GUILE18 if required >> in cmake? >> >> Keep up this interesting work! >> >> Herbert. >> >> Christian Stimming schrieb: >>> I'd like to explain my recent experiments with C++ and cmake: I was tired >>> of >>> the amount of code one has to write in the C language to achieve seemingly >>> trivial tasks. In my day-time projects with other, more GUI-suited, >>> programming languages, the simple tasks can be written sooo much simpler, >>> leaving much more time for the actual challenging tasks. In gnucash, over >>> and >>> over again I thought couldn't the GUI be written in any of the more modern >>> languages and/or toolkits. I mean, can we get the fun into gnucash coding >>> again? >>> >>> Actually, we can. >>> >>> Announcing a new sub-project in gnucash: The non-GUI parts are re-used in >>> the >>> state they are, in the C language. This means the double-entry principles >>> and >>> all of the other achievments in the "engine" and xml-backend and eventually >>> other backends can be re-used. But the GUI is rewritten completely new, >>> from >>> scratch, in C++ and using the Qt toolkit. Fun again. The build system is >>> CMake >>> because its configuration runs magnitudes faster. Fun again. And as a final >>> bonus, for MS windows more compiler than before are supported, namely this >>> whole new project can be compiled by MS Visual Studio as well. So here it >>> is: >>> >>> Cutecash >>> Free Finance Software. Easy to develop, easy to use. >>> >>> Currently this is only a proof-of-concept for developers: You can load an >>> existing gnucash XML file, and it will show the list of accounts as a flat >>> table in a QTableView. The fun part is how easy it was to add this display >>> of >>> all accounts, so it will probably take only another 1-2 hours until the >>> account list is a tree to be viewed in a QTreeView. And a QTableView with >>> the >>> splits of an account can't be far... >>> >>> To give this a try, have qt4 (>=4.5.0) and cmake (>= 2.6.0) installed and: >>> >>> mkdir build-cutecash >>> cd build-cutecash >>> cmake .. >>> make >>> ./src/gnc/cutecash >>> >>> Have fun (again)! >>> >>> Christian >>> _______________________________________________ >>> gnucash-devel mailing list >>> gnucash-devel@gnucash.org >>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel >>> > -- Herbert Thoma Dipl.-Ing., MBA Head of Video Group Multimedia Realtime Systems Department Fraunhofer IIS Am Wolfsmantel 33, 91058 Erlangen, Germany Phone: +49-9131-776-6130 Fax: +49-9131-776-6099 email: t...@iis.fhg.de www: http://www.iis.fhg.de/
cutecash_suse11.patch.gz
Description: GNU Zip compressed data
_______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel