You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-users@xalan.apache.org by Haiying Tu <tu...@teamqsi.com> on 2006/03/30 01:46:11 UTC
build in Visual Studio 2005 (VC++8)
Dear all,
Need help on Xalanc and Xerecs work for VC++8.
Thank Dmitry for leading me to the link of source code:
http://svn.apache.org/repos/asf/xalan/c/trunk/
However, even Xerces cannot be build in VC8 now (I successfully built Xerces 2.7 in VC8, however, Xalanc is looking for a library associated with Xerces 3). Got lots of link errors such as:
DocumentImpl.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static bool __cdecl xercesc_3_0::XMLChar1_0::isValidName(unsigned short const * const,unsigned int)" (__imp_?isValidName@XMLChar1_0@xercesc_3_0@@SA_NQBGI@Z) referenced in function "public: bool __thiscall xercesc_3_0::DocumentImpl::isXMLName(class xercesc_3_0::DOMString const &)" (?isXMLName@DocumentImpl@xercesc_3_0@@QAE_NABVDOMString@2@@Z)
DOM_DOMImplementation.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static bool __cdecl xercesc_3_0::XMLChar1_0::isValidName(unsigned short const * const,unsigned int)" (__imp_?isValidName@XMLChar1_0@xercesc_3_0@@SA_NQBGI@Z)
DOM_DOMImplementation.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static int __cdecl xercesc_3_0::XMLString::compareIString(unsigned short const * const,unsigned short const * const)" (__imp_?compareIString@XMLString@xercesc_3_0@@SAHQBG0@Z) referenced in function "public: bool __thiscall xercesc_3_0::DOM_DOMImplementation::hasFeature(class xercesc_3_0::DOMString const &,class xercesc_3_0::DOMString const &)" (?hasFeature@DOM_DOMImplementation@xercesc_3_0@@QAE_NABVDOMString@2@0@Z)
DOM_DOMImplementation.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static unsigned int __cdecl xercesc_3_0::XMLString::stringLen(unsigned short const * const)" (__imp_?stringLen@XMLString@xercesc_3_0@@SAIQBG@Z) referenced in function "public: class xercesc_3_0::DOM_DocumentType __thiscall xercesc_3_0::DOM_DOMImplementation::createDocumentType(class xercesc_3_0::DOMString const &,class xercesc_3_0::DOMString const &,class xercesc_3_0::DOMString const &)" (?createDocumentType@DOM_DOMImplementation@xercesc_3_0@@QAE?AVDOM_DocumentType@2@ABVDOMString@2@00@Z)
Any hint?
-------------------------------------------------------
Hi Dave,
I was trying to build Xalanc 1.10 (with Xerces 2.7) in
Visual Studio 2005 and apparently failed. I was
guided to your Xalanc-584 post and downloaded VC8.zip.
However, only project files are there. Could you let
me know where I can get the updated source files? I
got more errors by my own build compared with your
patch file.
You help is highly appreciated!
best rgs,
Haiying Tu
Re: build in Visual Studio 2005 (VC++8)
Posted by David Bertoni <db...@apache.org>.
Haiying Tu wrote:
> Dear all,
>
> Need help on Xalanc and Xerecs work for VC++8.
>
> Thank Dmitry for leading me to the link of source code:
>
> http://svn.apache.org/repos/asf/xalan/c/trunk/
> However, even Xerces cannot be build in VC8 now (I successfully built
> Xerces 2.7 in VC8, however, Xalanc is looking for a library associated
> with Xerces 3). Got lots of link errors such as:
>
> DocumentImpl.obj : error LNK2019: unresolved external symbol
> "__declspec(dllimport) public: static bool __cdecl
> xercesc_3_0::XMLChar1_0::isValidName(unsigned short const *
> const,unsigned int)"
> (__imp_?isValidName@XMLChar1_0@xercesc_3_0@@SA_NQBGI@Z) referenced in
> function "public: bool __thiscall
> xercesc_3_0::DocumentImpl::isXMLName(class xercesc_3_0::DOMString const
> &)" (?isXMLName@DocumentImpl@xercesc_3_0@@QAE_NABVDOMString@2@@Z)
> DOM_DOMImplementation.obj : error LNK2001: unresolved external symbol
> "__declspec(dllimport) public: static bool __cdecl
> xercesc_3_0::XMLChar1_0::isValidName(unsigned short const *
> const,unsigned int)" (__imp_?isValidName@XMLChar1_0@xercesc_3_0@@SA_NQBGI@Z)
> DOM_DOMImplementation.obj : error LNK2019: unresolved external symbol
> "__declspec(dllimport) public: static int __cdecl
> xercesc_3_0::XMLString::compareIString(unsigned short const *
> const,unsigned short const * const)"
> (__imp_?compareIString@XMLString@xercesc_3_0@@SAHQBG0@Z) referenced in
> function "public: bool __thiscall
> xercesc_3_0::DOM_DOMImplementation::hasFeature(class
> xercesc_3_0::DOMString const &,class xercesc_3_0::DOMString const &)"
> (?hasFeature@DOM_DOMImplementation@xercesc_3_0@@QAE_NABVDOMString@2@0@Z)
> DOM_DOMImplementation.obj : error LNK2019: unresolved external symbol
> "__declspec(dllimport) public: static unsigned int __cdecl
> xercesc_3_0::XMLString::stringLen(unsigned short const * const)"
> (__imp_?stringLen@XMLString@xercesc_3_0@@SAIQBG@Z) referenced in
> function "public: class xercesc_3_0::DOM_DocumentType __thiscall
> xercesc_3_0::DOM_DOMImplementation::createDocumentType(class
> xercesc_3_0::DOMString const &,class xercesc_3_0::DOMString const
> &,class xercesc_3_0::DOMString const &)"
> (?createDocumentType@DOM_DOMImplementation@xercesc_3_0@@QAE?AVDOM_DocumentType@2@ABVDOMString@2@00@Z)
>
> Any hint?
>
The latest Xalan-C sources should build fine with the latest sources of
Xerces-C. If you're going to build the latest Xalan-C with VC8 using
Xerces 2.7, you'll need to do two things:
1. Change the Xerces-C link library Xalan-C is using. Look for
xerces-c_3D.lib and xerces-c_3.lib and change them to xerces-c_2D.lib
and xerces-c_2.lib.
2. Ensure that wchar_t is treated consistently. You can either treat
wchar_t as a proper type, or treat is as a typedef. Older versions of
VC++ treated it as a typedef, but the standard requires it be a proper
type. You will need to set the option consistently in both the Xerces-C
and Xalan-C projects. Xalan-C defaults to treating wchar_t as a proper
type in VC8.
Dave