==============
#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`