C++ 我可以在使用Xerces-C 3.0时使用stdcall约定吗?我得到链接器错误

C++ 我可以在使用Xerces-C 3.0时使用stdcall约定吗?我得到链接器错误,c++,linker,linker-errors,xerces,stdcall,C++,Linker,Linker Errors,Xerces,Stdcall,在我的项目中,使用stdcall是至关重要的。然而,我明白了: 1> ExchangeParser.obj:错误LNK2001:未解析的外部符号“public:static void u cdecl xercesc_3_0::XMLString::release(unsigned short**,类xercesc_3_0::MemoryManager*const)”(?release@XMLString@xercesc_3_0@@SAXPEAPEAGQEAVMemoryManager@2@@Z)

在我的项目中,使用stdcall是至关重要的。然而,我明白了:

1> ExchangeParser.obj:错误LNK2001:未解析的外部符号“public:static void u cdecl xercesc_3_0::XMLString::release(unsigned short**,类xercesc_3_0::MemoryManager*const)”(?release@XMLString@xercesc_3_0@@SAXPEAPEAGQEAVMemoryManager@2@@Z) 1> ExchangeParser.obj:错误LNK2001:未解析的外部符号“public:static char*u cdecl xercesc_3_0::XMLString::transcode(无符号短常量*const,类xercesc_3_0::MemoryManager*const)”(?transcode@XMLString@xercesc_3_0@@SAPEADQEBGQEAVMemoryManager@2@@Z) 1> ExchangeParser.obj:错误LNK2001:未解析的外部符号“public:static unsigned short*u cdecl xercesc_3_0::XMLString::transcode(char const*const,class xercesc_3_0::MemoryManager*const)”(?transcode@XMLString@xercesc_3_0@@SAPEAGQEBDQEAVMemoryManager@2@@Z) 1> ExchangeParser.obj:错误LNK2001:未解析的外部符号“public:static char const*const xercesc_3_0::XMLUni::fgXercescDefaultLocale”(?fgXercescDefaultLocale@XMLUni@xercesc_3_0@@2QBDB) 1> ExchangeParser.obj:错误LNK2001:未解析的外部符号“公共:静态类xercesc_3_0::MemoryManager*xercesc_3_0::XMLPlatformUtils::fgMemoryManager”(?fgMemoryManager@XMLPlatformUtils@xercesc_3_0@@2PEAVMemoryManager@2@(EA) 1> ExchangeParser.obj:错误LNK2001:未解析的外部符号“公共:静态类xercesc_3_0::DOMImplementation*\uu cdecl xercesc_3_0::DomImplementRegistry::getDOMImplementation(无符号短常量*)”(?getDOMImplementation@DOMImplementationRegistry@xercesc_3_0@@SAPEAVDOMImplementation@2@PEBG@Z) 1> ExchangeParser.obj:错误LNK2001:未解析的外部符号“public:static unsigned short const*const xercesc_3_0::XMLUni::fgDOMWRTFormatPrettyPrint”(?fgDOMWRTFormatPrettyPrint@XMLUni@xercesc_3_0@@2QBGB) 1> ExchangeParser.obj:错误LNK2001:未解析的外部符号“public:static unsigned short const*const xercesc_3_0::XMLUni::fgdomxmlsdeclaration”(?fgDOMXMLDeclaration@XMLUni@xercesc_3_0@@2QBGB)

有什么帮助吗?

Xerces是,那么为什么不编译自己的变量,使用
\uu stdcall
作为默认约定,这样就不会出现链接错误


它甚至为每个Windows IDE都附带了项目(包括您正在使用的MSVC),因此只需加载它,更改一个全局选项并点击编译(您可能需要更改某些必须显式使用
\uu cdecl
的位置,但编译程序在构建它时会在这些位置出错).

您的操作系统是什么__stdcall是针对win32 API的,我尝试使用u stdcall编译,但还是出现了相同的错误。这些方法似乎明确使用了cdecl约定。有没有其他方法可以绕过这个问题?Thanks@user1266041:如果这些方法明确需要
\uuu cdecl
,并且您需要在标题中定义,请通过
\uu cdecl
函数属性明确说明这一点