This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Xerces C++ support in cygwin


I've been able to get xerces c++ to build in cygwin and
have submitted a couple of patches to enable this.  I
don't know how soon these fixes will be available in a
"stable" release, but for those that really want to
give it a try, I've included some instructions below. 
This is not for the faint of heart.  I'd like to
encourage anyone else that is interested to review the
"samples" and "tests" directories and get those to
build and run.

1) Since this is a c++ dll, there are issues of binary
compatibility between releases of gcc and other tools. 
In other words, if you build xerces succesfully with
version 2.95.3 of gcc, it won't work to link it against
your application that is built with gcc 3.1.1 (as I've
found out).
2) I've only been able to get this to compile with gcc
2.95.2.  When I tried against 3.1.1, ld would stackdump
at the final link to create the dll.  I don't even know
if there is a gcc 3.x that has been certified to work
under cygwin anyway, although I'd like it to so that I
could use the standard c++ headers in my code :)

Getting xerces to build:
1) Create your cvs view of the xerces-c source tree
(see, you want
xml-xerces, and the "c" directory of that module).
2) cd to the c/src/xercesc directory of the cvs view
3) type the following at the cygwin prompt:
> ./runConfigure -p cygwin -c gcc -x g++ -m inmem -n
socket -t native
4) then type "make"
5) after everything is finished building, type "make

you should now be able to use xerces in your app
(remember to use -lxerces-c in your link, and also make
sure that /usr/local/bin is in your windows %PATH% when
you run your app)

Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]