Hello guys,

I'm working on a new project in C++ and I need to parse some XML files, by reading some articles on the web I found that the most commonly used one is the Xerces library.

However, I'm currently having troubles. Can anyone tell me how can I include an external library - in order to use and possibly overwrite its code?

I also wanted to know whether I need to work with the source files or a binary. Before I was assigned to this project I was programming in Java however I have to do this in c++ and things are a bit different.

Thanks in advance,
Liza

Recommended Answers

All 9 Replies

I'm using windows vista :( which makes thing evern worse...

I've looked at the link you posted and to be honest I've read everything in that site, nothing works for me!!

The first time that I downloaded the source zip and tried to include one of the header files in one of my files I received a number of errors saying that there were no such files in the directory. After that I said that I may include the file in the wrong way, but that wasn't the problem.

Then I went back to that site and followed the instructions about validating the copy that I downloaded, something that never happened. I don't know if it's because of my OS.

I even tried it with a binary where I had to add the bin directory to my PATH system variable.

Have you used Xerces in the past?

Do you think that the backward clashes that windows uses might be the problem?

The xerces library was written under UNIX which uses forward clashes to define a subdirectory.

It works both ways in Windows.

I'm using windows vista :( which makes thing evern worse...

I've looked at the link you posted and to be honest I've read everything in that site, nothing works for me!!

The first time that I downloaded the source zip and tried to include one of the header files in one of my files I received a number of errors saying that there were no such files in the directory. After that I said that I may include the file in the wrong way, but that wasn't the problem.

Then I went back to that site and followed the instructions about validating the copy that I downloaded, something that never happened. I don't know if it's because of my OS.

I even tried it with a binary where I had to add the bin directory to my PATH system variable.

Have you used Xerces in the past?

i see :?

actually no, I've never used Xerces, i just gave you that link 'cuz it's what you asked for :)

Why not try TinyXML?
http://sourceforge.net/projects/tinyxml/
http://www.grinninglizard.com/tinyxmldocs/tutorial0.html

I'm afraid that I can't use the tinyXml library due to the fact that I need to use SAX and not DOM.

I need to be able and read part of a file instead of reading the whole file and then constuct an object from that file.

i see, is libXML++ any good, or do you have the same prob?

http://libxmlplusplus.sourceforge.net/docs/manual/html/index.html

I also have tried to build the xerces library.
After running,

$ ./configure --disable-static CC=gcc-4.1 CXX=g++-4.1 CFLAGS=-O3 CXXFLAGS=-O3

I got

checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether to use rpath... yes
checking for C++ compiler default output file name...
configure: error: in `/home/hasrul/XML/xerces-3.1.1':
configure: error: C++ compiler cannot create executables
See `config.log' for more details.

then I always got error with the 'make check' or 'make install'
Can I start linking (using) the library without the make?
If there's any way to fix this..

Thanks.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.