Xerces:使用XMLString::转码时链接错误

Xerces: Link error on using XMLString::transcode

本文关键字:链接 错误 使用 XMLString Xerces      更新时间:2023-10-16

我是Xercesc新手。我已经包含了xerces静态库xerces- c_static_3d。在我的项目属性->链接器附加库。其他所有使用xces的内容都可以正常工作但是当我添加这一行

XMLCh* paramStr = XMLString::transcode("param");

我得到下面的错误。请告诉我为什么会这样?

LNK2001:未解析的外部符号"__declspec(dllimport) public: static unsigned short * __cdecl xercesc_3_1::XMLString::transcode(char const * const,class xercesc_3_1::MemoryManager * const)"(__imp_ ? transcode@XMLString@xercesc_3_1@@SAPAGQBDQAVMemoryManager@2@@Z)

3> a.b lib(MetaFileReader.obj): error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void __cdecl xercesc_3_1::XMLString::release(unsigned short * *,class xercesc_3_1::MemoryManager * const)"(__imp_ ? release@XMLString@xercesc_3_1@@SAXPAPAGQAVMemoryManager@2@@Z)

3> a.b lib(MetaFileReader.obj):错误LNK2001:未解析的外部符号"__declspec(dllimport) public: static char * __cdecl xercesc_3_1::XMLString::transcode(unsigned short const * const,class xercesc_3_1::MemoryManager * const)"(__imp_ ? transcode@XMLString@xercesc_3_1@@SAPADQBGQAVMemoryManager@2@@Z)

IIRC,当您使用项目设置将wchar_t作为内置类型构建Xercesc库时,您需要匹配一些预处理器标志。请查看Xercesc头文件中XMLCh的定义,以确定哪个预处理器标志。确保链接到Xercesc库的项目使用相同的项目设置。