This is one of the strangest problems I've ever had:

In my header, I have:

#include <xercesc/dom/DOM.hpp>
#include <xercesc/sax/HandlerBase.hpp>
#include <xercesc/sax/ErrorHandler.hpp>
#include <xercesc/parsers/XercesDOMParser.hpp>
#include <xercesc/util/PlatformUtils.hpp>

class CConfiguration
    {
 public:
    // Setup and initialization
    CConfiguration(char *XMLConfigurationFileName= NULL);
    ~CConfiguration();
    void SetFile(char* FileName=NULL);
    // Init() actually does the parsing parsing
    int Init(char* XMLConfigurationFileName= NULL);

    // Navigation
    DOMElement* Parent();      // Gets this node's parent
    DOMElement* FirstChild();  // Gets this node's first child
    DOMElement* Next();        // Gets the next sibling
    DOMElement* Previous();    // Gets the prior sibling

        // etc
    };

I'm getting a syntax error at each of the above navigation functions, and
everywhere I have referenced a xerces- defined entity.  It appears that the
preprocessor is not seeing the declarations in the includes, but if I go to
the line in DOMElement.hpp, right above the "class CDOM_EXPORT DOMElement"
line, where the DOMElement begins, and put in a syntax error, the compiler
barfs on it.  Therefore, the preprocessor is scanning the file, and
*must*(?) see the declaration, but it is not letting me do the above
declarations.

I can even do this:

#include <xercesc/dom/DOM.hpp>
#include <xercesc/sax/HandlerBase.hpp>
#include <xercesc/sax/ErrorHandler.hpp>
#include <xercesc/parsers/XercesDOMParser.hpp>
#include <xercesc/util/PlatformUtils.hpp>

class dummy : public DOMElement
    {
    };

And the compiler gives me a syntax error at the "class" line.

Any insight?  Is there anything that could "undef" these declarations?
Could this possibly be some obsure compiler problem?  I'm using gcc, btw.  I
didn't have this problem with the earlier version of xerces.

TIA,
-----------
Allen



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to