Hi, thanks for the reply. If I don't specify the libraries at link time, I get unresolved symbols.
And I tried modifying some parameters to get Xerces to build with the new standard library, but the result was the same: broken sample binaries. Although I tried using a vector in a test program that does some xml operations using Xerces, and turns out I don't have to compile with -AA to get <vector> to work. When you say "the old standard library", are you referring to the one that uses the old header files, iostream.h for example? Thanks again. ----- Original Message ---- From: David Bertoni <[EMAIL PROTECTED]> To: [email protected] Sent: Friday, May 4, 2007 4:15:48 PM Subject: Re: HP-UX, aCC and namespace std Mihai Matei wrote: > Hi, > > Summary: 'using namespace std' does not work with Xerces-C 2.7.0 on hp-ux > 11.11 parisc and aCC A.03.73 > > Long version: > I have the following problem with Xerces-C 2.7.0, I'm compiling on hp-ux > parisc 11.11 with aCC A.03.73: > > #./runConfigure -php-11 -ccc -xaCC -ok > #gmake -ok > > #file libxerces-c.sl.27.0 > libxerces-c.sl.27.0: PA-RISC1.1 shared library -not stripped > > #ldd libxerces-c.sl.27.0 |more > /usr/lib/libnsl.1 => /usr/lib/libnsl.1 > /usr/lib/libxti.2 => /usr/lib/libxti.2 > /usr/lib/libpthread.1 => /usr/lib/libpthread.1 > /usr/lib/dld.sl: Unresolved symbol: symbol not found: __PureVirtualCalled > (libxerces-c.sl.27.0) > ...(above line repeated) > That's ok, the examples work: > > #../bin/CreateDOMDocument > The tree just created contains: 4 elements. > > BUT!!! > > My question is why is Xerces picking up the 'old' header file > <iostream.h> instead of <iostream>? I searched in the source code for the > XERCES_NEW_IOSTREAMS macro, it is defined for a few architectures, but could > not fine it defined for hp-ux/aCC. > The problem is when I try linking my program with the C++ Standard Lib, I > compile with '-AA', and link with '-lstd_v2 -lCsup_v2'. If I do this, the > example would not work anymore! You should not specify the link libraries on the command line. Instead, let the compiler add the appropriate libraries based on the -A option you specified. The default for the aCC compiler on PA-RISC is -Aa, which specifies the old standard library. Why don't you just update the compiler option in the file src/xercesc/Makefile.incl to add -AA to the compile and link options? Or, you can try the -z and -l options for runConfigure. > The tree just created contains: <-- nothing > ...and other examples even abort You cannot mix -Aa and -AA binaries. You need to chose one or the other. Dave ____________________________________________________________________________________ It's here! Your new message! Get new email alerts with the free Yahoo! Toolbar. http://tools.search.yahoo.com/toolbar/features/mail/
