Has anyone compiled xerces-c with the latest version of g++?
I think this snippet from the release notes is going to cause grief:
# In a template definition, unqualified names will no longer find members of a
dependent base. For example,
template <typename T> struct B {
int m;
int n;
int f ();
int g ();
};
int n;
int g ();
template <typename T> struct C : B<T> {
void g ()
{
m = 0; // error
f (); // error
n = 0; // ::n is modified
g (); // ::g is called
}
};
You must make the names dependent by prefixing them with this->. Here is the corrected
definition of C<T>::g,
template <typename T> void C<T>::g ()
{
this->m = 0;
this->f ();
this->n = 0
this->g ();
}
i.e.:
c++ -fPIC -DSOLARIS -D_REENTRANT -c -I/home/greg/src/xml-xerces/c/include -w -O
-DPROJ_XMLPARSER -DPROJ_XMLUTIL -DPROJ_PARSERS -DPROJ_SAX4C -DPROJ_SAX2
-DPROJ_DOM -DPROJ_DEPRECATED_DOM -DPROJ_VALIDATORS -DXML_USE_NATIVE_TRANSCODER
-DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET -o
/home/greg/src/xml-xerces/c/obj/SOLARIS/DOMAttrImpl.o DOMAttrImpl.cpp
In file included from
/home/greg/src/xml-xerces/c/include/xercesc/util/RefArrayOf.hpp:221,
from DOMDocumentImpl.hpp:73,
from DOMAttrImpl.hpp:77,
from DOMAttrImpl.cpp:64:
/home/greg/src/xml-xerces/c/include/xercesc/util/RefArrayOf.c: In constructor
`xercesc_2_5::RefArrayOf<TElem>::RefArrayOf(unsigned int,
xercesc_2_5::MemoryManager*)':
/home/greg/src/xml-xerces/c/include/xercesc/util/RefArrayOf.c:111: error: invalid use
of undefined type `struct xercesc_2_5::MemoryManager'
/home/greg/src/xml-xerces/c/include/xercesc/util/XMemory.hpp:70: error: forward
declaration of `struct xercesc_2_5::MemoryManager'
/home/greg/src/xml-xerces/c/include/xercesc/util/RefArrayOf.c: In constructor
`xercesc_2_5::RefArrayOf<TElem>::RefArrayOf(TElem**, unsigned int,
xercesc_2_5::MemoryManager*)':
/home/greg/src/xml-xerces/c/include/xercesc/util/RefArrayOf.c:125: error: invalid use
of undefined type `struct xercesc_2_5::MemoryManager'
/home/greg/src/xml-xerces/c/include/xercesc/util/XMemory.hpp:70: error: forward
declaration of `struct xercesc_2_5::MemoryManager'
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]