Mac Lion 上架构 x86_64 ImageMagick 的未定义符号

2024-04-04

在 Mac Lion 上,我完成了配置、制作并安装了 ImageMagick 的静态版本。一切顺利,作为配置的结果,我得到了


configuring ImageMagick 6.7.2-4
checking build system type... x86_64-apple-darwin11.1.0
checking host system type... x86_64-apple-darwin11.1.0
checking target system type... x86_64-apple-darwin11.1.0
....  

但是当我尝试在自己的应用程序中使用静态库时,链接器向我发送了数百个链接错误,例如......



Undefined symbols for architecture x86_64:
  "_XOpenDisplay", referenced from:
      _RenderType in libMagickCore.a(magick_libMagickCore_la-annotate.o)
      _DisplayImages in libMagickCore.a(magick_libMagickCore_la-display.o)
...

"_XInitImage", referenced from:
      _ReadXWDImage in libMagickCore.a(magick_libMagickCore_la-xwd.o)
ld: symbol(s) not found for architecture x86_64  

这是我的 LIBS 声明


LIBS += -L/Library/ImageMagick-6.7.2-4/magick/.libs \
  -L/Library/ImageMagick-6.7.2-4/magick \
  -L/Library/ImageMagick-6.7.2-4/wand/.libs \
  -L/Library/ImageMagick-6.7.2-4/wand \
  -L/usr/X11/lib \
  -R/usr/X11/lib \
  -L/opt/local/lib \
  -L/opt/lib \
  -lMagick++ \
  -lMagickCore \
  -lMagickWand  \
  -ltiff \
  -lfreetype \
  -ljpeg \
  -ljasper -lpng14 -lbz2 -lz -lm -lpthread  

我不太确定出了什么问题或缺少什么。


这是一个编译问题XOpenDisplay是分开的X。只需包含库即可-lX11在您的 LIBS 声明中。

LIBS += -L/Library/ImageMagick-6.7.2-4/magick/.libs \
  -L/Library/ImageMagick-6.7.2-4/magick \
  -L/Library/ImageMagick-6.7.2-4/wand/.libs \
  -L/Library/ImageMagick-6.7.2-4/wand \
  -L/usr/X11/lib \
  -R/usr/X11/lib \
  -L/opt/local/lib \
  -L/opt/lib \
  -lX11 \
  -lMagick++ \
  -lMagickCore \
  -lMagickWand  \
  -ltiff \
  -lfreetype \
  -ljpeg \
  -ljasper -lpng14 -lbz2 -lz -lm -lpthread
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mac Lion 上架构 x86_64 ImageMagick 的未定义符号 的相关文章

随机推荐