From: <_r...@we...> - 2006-03-24 14:09:27
|
Hi list, recently I tried to compile xmlbeansxx-0.7.3 on cygwin. I ran into serveral problems: 1. The software cannot be built outside of the source tree 2. JAVA to build c++ libs? (It is realy not funny to install ant on cygwin) 3. ANT is not called correctly out of the makefile, so it must be called seperatly in the generators/ subdir after the first compile run failed. (3a. two different software build systems in one "little" project? Are autotools not complicated enough?) 4. The setting of the classpath variable does not work under windows since there the CP needs to be separated by ';' rather than ':' 5. String.h is a very bad name for a header, since the file name is the same as string.h under windows. So this file gets included from the system headers (like <string>) since the -I$(srcdir) in the compile flags kicks the original out of the search path. To get around this I renamed String.h to badString.h (OK, I had a bad day...). 6. The generated classes contains members wich starts with '_'. In C++ you MUST NOT use names starting with underscores (or str or mem), since these names are reserved for the C/C++ implementation. The cygwin /usr/include/ctypes.h has a "funny" define: #define _B 0200, which does give realy funny compiler errors when compiling testcases/cImpl.h. I suggest a prefix of m or m_ to the member variables instead of '_', so the probability of a name clash (especially with predifined macros) are minimized. BTW: I tried to fix the issue above, but couldn't find the place where the names are generated. 6a. Where does this "namespace com {namespace p4 {namespace mind {namespace mytest {" mess come from? I attached a patch to compile the compiler under cygwin. It is more a hack to get around the java quirks, and does not work on different plattforms. Also it uses different names for the boost libs, which are somehow different on cygwin. And it disables the cppunit check, since it does get turned on on cygwin, even if it is not installed. bye Rudi -- GPG encrypted mails preferred. GPG verschlüsselte Mails bevorzugt. ---> https://dsred.ccc.de/085/tkuev <---- |