GraphicsMagick,架构 x86_64 的未定义符号

Posted

技术标签:

【中文标题】GraphicsMagick,架构 x86_64 的未定义符号【英文标题】:GraphicsMagick, Undefined symbols for architecture x86_64 【发布时间】:2012-04-25 01:59:06 【问题描述】:

我正在尝试在 Xcode4 中安装 GraphicsMagick,当我执行命令“make”时出现此错误。

/usr/bin/ranlib: file: magick/.libs/libGraphicsMagick.a(magick_libGraphicsMagick_la-module.o) has no symbols
/usr/bin/ranlib: file: magick/.libs/libGraphicsMagick.a(magick_libGraphicsMagick_la-PreRvIcccm.o) has no symbols
libtool: link: ranlib magick/.libs/libGraphicsMagick.a
ranlib: file: magick/.libs/libGraphicsMagick.a(magick_libGraphicsMagick_la-module.o) has no symbols
ranlib: file: magick/.libs/libGraphicsMagick.a(magick_libGraphicsMagick_la-PreRvIcccm.o) has no symbols


Undefined symbols for architecture x86_64:
  "___builtin_object_size", referenced from:
      _BlurImageScanlines.omp_fn.6 in libGraphicsMagick.a(magick_libGraphicsMagick_la-effect.o)
      _XShearImage.omp_fn.0 in libGraphicsMagick.a(magick_libGraphicsMagick_la-shear.o)
      _YShearImage.omp_fn.1 in libGraphicsMagick.a(magick_libGraphicsMagick_la-shear.o)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[1]: *** [utilities/gm] Error 1
make: *** [install] Error 2

【问题讨论】:

你发现了吗? 【参考方案1】:

GraphicsMagick 无法在 OS X 10.7 (Lion) 或 10.8 (Mountain Lion) 上使用默认的 LLVM GCC/G++ 编译器进行编译。解决方法是改用 Clang 编译器:

./configure CC=clang [...other config options...]

为了安全起见,编译后使用make check 运行单元测试也是一个好主意。

这个技巧对我有用,希望对你有帮助。

【讨论】:

【参考方案2】:

您可以在这里找到解决方案。

http://sourceforge.net/projects/graphicsmagick/forums/forum/250738/topic/5221775

【讨论】:

以上是关于GraphicsMagick,架构 x86_64 的未定义符号的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 5.1:移除 x86_64 架构

警告“将架构 arm64 映射到 x86_64”是啥意思?

架构 x86_64 / i386 的未定义符号

SDL 缺少 x86_64 架构

Cordova - 架构 x86_64 的未定义符号

GoogleMapsSDK:架构 x86_64 的未定义符号