简体   繁体   中英

How to successfully integrate ImageMagick into iOS?

I currently have a linker error, roughly 44 references to undefined symbols for the architecture x86_64. All of them are from an integrated file "libMagickCore.a" so I attempted to search for solutions to "undefined symbols for architecture x86_64 libmagickcore.a" I have seen a solution here Undefined symbols for architecture x86_64 ImageMagick on Mac Lion which addresses a similar issue on Mac Lion. I have also looked on ImageMagick boards for similar issues. The threads that I found and the Stack Overflow link seem to talk about including or explicitly excluding an X11 library.

I attempted to add "-lX11" to "Other Linker Flags" under build settings, but I end up with "library not found for -lX11." Because of this, I also tried dragging libX11.dylib from /opt/X11/lib into my XCode Project to no avail. Suggestions for similar issues on the ImageMagick boards are to use a "--without-wmf" "--without-x11" flag, but I do not know which key/value pair of the build settings to add that to without a compiler error saying "unsupported option."

Theses are the linker errors:

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”添加到项目中,从而解决了该问题。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM