2011-09-13 16 views
5

Mac Lionでは、ImageMagickの静的バージョンを構成、作成、インストールしました。すべてはうまくいったとのconfigureの結果として、私はアーキテクチャx86_64の未定義シンボルImageMagick on Mac Lion

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

です。

+0

未定義のシンボルは、Xウィンドウシステムからのものです。あなたは 'configure 'を' --without-x'オプションで実行しようとしましたか? – nwellnhof

答えて

0

これはXOpenDisplayの部分がXであるため、コンパイルの問題です。 LIBS宣言にライブラリ-lX11を含めるだけです。

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 
関連する問題