[xsd-users] Support for VS2015 / VS2017

Brian Heaney brian at inneroptic.com
Mon Dec 9 12:56:13 EST 2019


Boris,

Problem fixed!

Thanks for your tip. My Visual Studio project was still referencing the
xerces include files provided by CodeSynthesis. I changed it to reference
the xerces 3.2 include files. I turns out that XERCES_CPP_NAMESPACE is
#defined in XercesVersion.hpp, which was tripping me up.

Brian


On Mon, Dec 9, 2019 at 9:52 AM Boris Kolpackov <boris at codesynthesis.com>
wrote:

> Brian Heaney <brian at inneroptic.com> writes:
>
> > It seems that the .cxx/.hxx files that CodeSynthesis is generating are
> > referencing xercesc_3_1, yet I configured Visual Studio to link against
> my
> > xerces-c_3_2.lib file. [...]
> >
> > error LNK2019: unresolved external symbol "__declspec(dllimport) public:
> > static void * __cdecl xercesc_3_1::XMemory::operator new(unsigned int)"
> > (__imp_??2XMemory at xercesc_3_1@@SAPAXI at Z) referenced in function "public:
> > virtual class xercesc_3_1::BinInputStream * __thiscall
> > xsd::cxx::xml::sax::std_input_source::makeStream(void)const "
> > (?makeStream at std_input_source@sax at xml@cxx at xsd
> > @@UBEPAVBinInputStream at xercesc_3_1@@XZ)
>
> The generated code does not reference the versioned Xerces-C++ namespace
> directly. Which means you are either linking old object files that were
> compiled against the old headers (in which case a rebuild should help)
> or your Visual Studio or project setup picks up the old headers (see
> Include Directories in VC++ Directories for details).
>


-- 

*Brian Heaney, CEO*
InnerOptic Technology, Inc
106A N. Churton Street Hillsborough, NC 27278
O:  919 732-2090         M: 919 450-7668
www.inneroptic.com


More information about the xsd-users mailing list