如何将ImageMagick成功集成到iOS中?

如何将ImageMagick成功集成到iOS中?,ios,xcode,linker,imagemagick,Ios,Xcode,Linker,Imagemagick,我目前有一个链接器错误,大约有44个引用指向架构x86_64的未定义符号。所有这些都来自一个集成文件libMagickCore.a,因此我试图为架构x86_64 libMagickCore.a搜索未定义符号的解决方案 我在这里看到了一个解决方案,它解决了Mac Lion上的一个类似问题。我还查看了ImageMagick板上的类似问题。我发现的线程和堆栈溢出链接似乎讨论了包含或明确排除X11库 我试图将-lX11添加到build settings下的其他链接器标志中,但最终得到了-lX11的lib

我目前有一个链接器错误,大约有44个引用指向架构x86_64的未定义符号。所有这些都来自一个集成文件libMagickCore.a,因此我试图为架构x86_64 libMagickCore.a搜索未定义符号的解决方案 我在这里看到了一个解决方案,它解决了Mac Lion上的一个类似问题。我还查看了ImageMagick板上的类似问题。我发现的线程和堆栈溢出链接似乎讨论了包含或明确排除X11库

我试图将-lX11添加到build settings下的其他链接器标志中,但最终得到了-lX11的library not found。因此,我还尝试将libX11.dylib从/opt/X11/lib拖到我的XCode项目中,但没有成功。ImageMagick板上类似问题的建议是使用-without-wmf-without-x11标志,但我不知道要将其添加到哪个构建设置的键/值对中,而不会出现编译器错误,称为unsupported option

以下是链接器错误:

Undefined symbols for architecture x86_64:
  "_xmlAddAttributeDecl", referenced from:
      _MSLAttributeDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGAttributeDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlAddChild", referenced from:
      _MSLReference in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _MSLCDataBlock in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGReference in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
      _SVGCDataBlock in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlAddDocEntity", referenced from:
      _MSLEntityDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _MSLUnparsedEntityDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGEntityDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
      _SVGUnparsedEntityDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlAddDtdEntity", referenced from:
      _MSLEntityDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGEntityDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlAddElementDecl", referenced from:
      _MSLElementDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGElementDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlAddNotationDecl", referenced from:
      _MSLNotationDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGNotationDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlCleanupParser", referenced from:
      _UnregisterMSLImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _UnregisterSVGImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlCreateIntSubset", referenced from:
      _MSLInternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGInternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlCreatePushParserCtxt", referenced from:
      _ProcessMSLScript in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _ReadSVGImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlDetectCharEncoding", referenced from:
      _MSLExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlFree", referenced from:
      _MSLAttributeDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _MSLExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGAttributeDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
      _SVGExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
      _ReadURLImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-url.o)
  "_xmlFreeDoc", referenced from:
      _SVGEndDocument in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlFreeInputStream", referenced from:
      _MSLExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlFreeParserCtxt", referenced from:
      _ProcessMSLScript in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _ReadSVGImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlGetDocEntity", referenced from:
      _MSLGetEntity in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGGetEntity in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlGetLastChild", referenced from:
      _MSLCDataBlock in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGCDataBlock in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlGetParameterEntity", referenced from:
      _MSLGetParameterEntity in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGGetParameterEntity in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlInitParser", referenced from:
      _RegisterMSLImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _RegisterSVGImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlLoadExternalEntity", referenced from:
      _MSLResolveEntity in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGResolveEntity in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlMalloc", referenced from:
      _MSLExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlNanoFTPClose", referenced from:
      _ReadURLImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-url.o)
  "_xmlNanoFTPConnect", referenced from:
      _ReadURLImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-url.o)
  "_xmlNanoFTPGet", referenced from:
      _ReadURLImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-url.o)
  "_xmlNanoFTPInit", referenced from:
      _ReadURLImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-url.o)
  "_xmlNanoFTPNewCtxt", referenced from:
      _ReadURLImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-url.o)
  "_xmlNanoHTTPCleanup", referenced from:
      _ReadURLImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-url.o)
  "_xmlNanoHTTPClose", referenced from:
      _ReadURLImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-url.o)
  "_xmlNanoHTTPMethod", referenced from:
      _ReadURLImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-url.o)
  "_xmlNanoHTTPRead", referenced from:
      _ReadURLImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-url.o)
  "_xmlNewCDataBlock", referenced from:
      _MSLCDataBlock in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGCDataBlock in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlNewCharRef", referenced from:
      _MSLReference in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGReference in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlNewDoc", referenced from:
      _MSLStartDocument in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGStartDocument in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlNewDtd", referenced from:
      _MSLExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlNewReference", referenced from:
      _MSLReference in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGReference in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlParseChunk", referenced from:
      _ProcessMSLScript in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _ReadSVGImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlParseExternalSubset", referenced from:
      _MSLExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlPopInput", referenced from:
      _MSLExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlPushInput", referenced from:
      _MSLExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlSplitQName", referenced from:
      _MSLAttributeDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGAttributeDeclaration in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlStrdup", referenced from:
      _MSLStartDocument in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _MSLExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGStartDocument in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
      _SVGExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlSubstituteEntitiesDefault", referenced from:
      _ProcessMSLScript in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _ReadSVGImage in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlSwitchEncoding", referenced from:
      _MSLExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGExternalSubset in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
  "_xmlTextConcat", referenced from:
      _MSLCDataBlock in libMagickCore.a(magick_libMagickCore_6_Q8_la-msl.o)
      _SVGCDataBlock in libMagickCore.a(magick_libMagickCore_6_Q8_la-svg.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

通过将libxml2.2.tbd添加到项目中,通过构建阶段并将二进制文件链接到库中,问题得到了解决。

这些错误来自于缺少的XML库,而不是X11。如果您查看此链接,那么:有一些XML引用,我相信其中一些是相同的。有人说解决方案是在某个地方使用-without-x11标志,尽管我不知道该添加到哪个键/值标志。我尝试了链接器标志键,但从未尝试构建ImageMagick。我不知道解决办法是什么。我只是简单地指出,您的问题中缺少的符号来自您未包含的某个XML库。它们都来自与MSL和SVG相关的代码,基于XML代码的引用。对,在ImageMagick board链接中,似乎有相同的MSL/SVG内容。也许我需要包括/排除的是X11?