C ++构建器解析器问题:[ILINK32错误]无保留外部

时间:2013-06-10 16:19:39

标签: xml parsing c++builder

我正在尝试在 C ++ builder xe 中开发一个dll,我需要解析一个XML file,为此我使用解析器 C ++ builder xe ,它生成一个允许我操作xml file的代码。 问题是我在生成的代码导致编译时遇到错误。 这是生成的代码:

_

di_IXMLDevlinkAbstractionLayer __fastcall GetDevlinkAbstractionLayer(_di_IXMLDocument Doc)
{
  return (_di_IXMLDevlinkAbstractionLayer) Doc->GetDocBinding("DevlinkAbstractionLayer", __classid(TXMLDevlinkAbstractionLayer), TargetNamespace);
};

_di_IXMLDevlinkAbstractionLayer __fastcall GetDevlinkAbstractionLayer(TXMLDocument *Doc)
{
  _di_IXMLDocument DocIntf;
  Doc->GetInterface(DocIntf);
  return GetDevlinkAbstractionLayer(DocIntf);
};

_di_IXMLDevlinkAbstractionLayer __fastcall LoadDevlinkAbstractionLayer(const UnicodeString& FileName)
{
  return (_di_IXMLDevlinkAbstractionLayer) LoadXMLDocument(FileName)->GetDocBinding("DevlinkAbstractionLayer", __classid(TXMLDevlinkAbstractionLayer), TargetNamespace);
};

我得到的错误是:

  [ILINK32 Error] Error: Unresolved external '__fastcall System::TObject::GetInterface(_GUID&, void *)' referenced from D:\DOCUMENTS AND SETTINGS\SESA269906\DESKTOP\DEV\DEVLINKABSTRACTION\DEBUG\WIN32\COOLINGCONFIGDALDLL.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Strhlpr::UnicodeFree(System::UnicodeString&)' referenced from C:\PROGRAM FILES\EMBARCADERO\RAD STUDIO\8.0\LIB\WIN32\DEBUG\VCLE.LIB|ustring
[ILINK32 Error] Error: Unresolved external '__fastcall Strhlpr::WideFree(System::WideString&)' referenced from C:\PROGRAM FILES\EMBARCADERO\RAD STUDIO\8.0\LIB\WIN32\DEBUG\VCLE.LIB|wstring
[ILINK32 Error] Error: Unresolved external '__fastcall Strhlpr::WideAssign(System::WideString&, System::WideString&)' referenced from C:\PROGRAM FILES\EMBARCADERO\RAD STUDIO\8.0\LIB\WIN32\DEBUG\VCLE.LIB|wstring

我认为错误是其中一个生成的文件中的include会导致问题。 任何想法?

1 个答案:

答案 0 :(得分:1)

我通过在项目选项中取消选中链接器选项“Dynamic RTL”和“使用运行时包链接”来解决问题。在包选项中。 我不知道这与初始问题之间的关系是什么......