Okay, but I'm not having a problem with class InputSource... I'm still having the problem linking to a function that is defined in one of our hpp files.

In my header file, I have this statement:
char *PrintDOMTree(DOM_Node &domNode, int &nLength);


PrintDOMTree is defined in our Print.cpp file.


When using the xerces namespace, I get this error:

Utils.exp : error LNK2001: unresolved external symbol "char * __cdecl PrintDOMTree(class DOM_Node &,int &)" (?PrintDOMTree@@YAPADAAVDOM_Node@@[EMAIL PROTECTED])


When I use

 XERCES_CPP_NAMESPACE_BEGIN
        class InputSource;
        XERCES_CPP_NAMESPACE_END
 
        instead of
 
        namespace xercesc {
        class InputSource;
        }

        There is no difference, as is expected.

I can't understand why our interally defined PrintDOMTree is giving a linking error, even if I qualify DOM_Node to the xerces namespace.

Thanks,

Stephanie Milchak
Software Engineer
WebSphere Business Integration
Research Triangle Park, NC



"Adam Heinz" <[EMAIL PROTECTED]>

12/23/2003 09:49 AM
Please respond to xerces-c-dev

       
        To:        <[EMAIL PROTECTED]>
        cc:        
        Subject:        RE: Disabling C++ Namespace



Well, if you look in the headers, the documentation is incorrect (just submitted as bug 25727).  Alberto suggested that you use:
 
XERCES_CPP_NAMESPACE_BEGIN
class InputSource;
XERCES_CPP_NAMESPACE_END
 
instead of
 
namespace xercesc {
class InputSource;
}

Adam Heinz
Development Consultant
Exstream Software

Reply via email to