LoginSignup
2
2

More than 5 years have passed since last update.

Mac OS X にて、#include <Magick++.h>を含むファイルをg++ XXX.cc -o XXX 的なコンパイルに通す

Posted at

==============

main.cc
#include <Magick++.h>
#include <iostream>
int main () { return 0; }

なんですか

これは、とある実験室のUbuntuで動いていたc++プログラムのひとつである。
ImageMagick という、画像を扱うライブラリを使用していた。
これを、Mac OS X のターミナル上で走らせたかった。gcc自体はよく動いていた。

2010年の解決と、2011年の解決と、2013年の解決と、2014年の解決がまるで違うので注意。はまりまっくって腰痛い。

決して、includeに強制的に追加するようなことはしてはならない。。。(自戒)

あと海外サイトで、微妙に現時点では解決できない方法であふれているのに注意。

2014年10月初頭時点でのMac OS での解決方法

1. http://cactuslab.com/imagemagick/ からインストールをする。

To simplify the process of installing ImageMagick on Mac OS X, Cactuslab has put together an installer package. The installer puts ImageMagick into /opt/ImageMagick and adds it to your PATH by creating an entry in /etc/paths.d/.

をよく読むこと。

2.公式サイトを見る。

見るべき場所は、http://imagemagick.org/script/magick++.php

$ g++ `Magick++-config --cxxflags --cppflags` -O2 -o demo demo.cpp \
  `Magick++-config --ldflags --libs`

なら通りますよ、と。まだ通らない模様。

すると PKG_CONFIG_PATH が無いよ的なエラーが出る。ImageMagick.pc があるフォルダを探す。今回は、/opt/lib/pkgconfig にあった。決して/usr/local/以下で無い。よって、、、

3.パスを追加する。


# ★追加
export PKG_CONFIG_PATH="/opt/lib/pkgconfig"

4.コンパイルにはオプションを追加する。

さっきいった通り。


$ g++ `Magick++-config --cxxflags --cppflags` -O2 -o main main.cc `Magick++-config --ldflags --libs`

2
2
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2