Eclipse を用いて,Windows の Cygwin 上 MagickWand を扱う C プログラムを開発(Windows 上)
このページでは,Eclipse を使い,MagickWand 経由で ImageMagick の機能を呼び出すような C プログラムを作る手順を図解で説明する. JMagick のインストール手順も説明する.
前準備
- Cygwin の Web ページの記述に従って,Cygwin のインストールが済んでいること.
- C:\cygwin\bin\cygwin1.dll を C:\Windows\System32 にコピーしておくこと.
- Eclipse のインストールが済んでいること.
- 「Eclipse に CDT プラグインをインストール」の Web ページの記述に従って,CDT プラグインのインストールが済んでいること.
- Windows の環境変数 PATH が「C;\Cygwin\usr\bin」を含むこと.
Eclipse の基本操作
基本操作として,新規プロジェクトの作成,C プログラムの作成, 保存, 実行を試す.あらかじめ決めておく事項
- プロジェクト名: Hello
- プロジェクト・タイプ: 実行可能
プロジェクトの新規作成
下記の手順で,プロジェクトを新規に作成する.
プロジェクトを作成すると,ワークスペースのディレクトリ(C:\workspace)の下に, プロジェクトのディレクトリができる.プロジェクトのディレクトリの下には,デフォルトでは,Debug, src の2つのサブディレクトリができる.
- プロジェクトの新規作成の開始
「ファイル」→「新規 (New)」→「プロジェクト (Project)」
または,パッケージ・エキスプローラ内で,右クリック→「新規 (New)」→「プロジェクト (Project)」 - 「C」の展開
新規プロジェクトのウインドウが開くので, 「C」を展開する.
- 「C プロジェクト」の選択
展開した「C」の下にある 「C プロジェクト」を選び,「次へ」をクリック.
- プロジェクト名とプロジェクトタイプの指定
新規Cプロジェクトのウインドウが開くので,プロジェクト名と プロジェクト・タイプを指定する.
- プロジェクト名
プロジェクト名には好きにつけて良いが,全角文字は避ける.分かりやすい名前が良い.
- プロジェクトタイプ
static ライブラリー,共有ライブラリー,実行可能,Makefile プロジェクトから選べる.ここでは,実行可能を展開し,Hello World ANSI C プロジェクト選ぶ.
終わったら,「次へ」をクリック
- プロジェクト名
- 基本設定
基本設定はデフォルトのままでよい. 「次へ」をクリック
- 構成の選択
基本設定はデフォルトのままでよい. 「完了」をクリック
ソース・ファイルの作成
- ソース・ファイルの確認
パッケージ・エクスプローラで, プロジェクトHelloの srcを展開すると,ソース・ファイルの一覧が表示される.
* Hello World ANSI C プロジェクト選んだので,Hello.c がすでに出来ている.
- ソース・ファイルの編集
パッケージ・エクスプローラで, Hello.cをダブルクリックすると,エディタが開き, ソース・ファイルの編集ができる.
MagickWand のサイトから wand.c を入手し,それをコピーアンドペーストする.
* wand.c は,サムネイル画像を生成するプログラム
プロジェクトの設定
プロジェクトのプロパティーを設定し,MagickWandの機能が使えるようにする.
- プロジェクトのプロパティー
Eclipseで,プロジェクトHelloを右クリック. 「プロパティー」を選択. 出てきたウインドウで,「C/C++ビルド」の下の「設定」を選ぶ.
「ツール設定」タブの「Cygwin C Compiler (Cygwin C コンパイラー)」の下の「その他」について,「その他のフラグ」に,次の設定を追加
`MagickWand-config --cflags --cppflags`
「ツール設定」タブの「Cygwin C Linker (Cygwin C リンカー)」の下の「その他」について,「リンカー・フラグ」に,次の設定を追加
`MagickWand-config --ldflags`
Cywgin のコンソールで,「MagickWand-config --libs」を実行し,実行結果をみる.
「ツール設定」タブの「Cygwin リンカー」の下の「ライブラリー」について,「ライブラリー」に, 「MagickWand-config --libs」の実行結果を設定する. 例えば,「MagickWand-config --libs」の実行結果が「-lMagickWand -lMagickCore -lgdi32 -lfreetype」の場合は, 「MagickWand」,「MagickCore」,「z」, 「freetype」の4つを設定する.
ビルド
- すべてビルド
CTRL + B(コントロールキーを押しながら「B」) または,「プロジェクト」メニューで「すべてビルド」
* ビルド時のエラーや警告があれば, Eclipse 内の問題・ビューに表示されるので確認する. 問題・ビューのエラー一覧の中で,エラーをクリックすると該当箇所が強調表示される.
実行
デフォルトでは,実行ファイルは, C:\workspace\Hello\Debug\Hello.exe に出来る.(「Hello」はプロジェクト名)
Cygwin のコンソールで次のように実行.サムネイル画像である t.png が生成されていれば成功. (bluebells_clipped.jpg は,/usr/share/doc/ImageMagick-6.4.0.6/images/bluebells_clipped.jpg をコピーしておく)
cp /cygdrive/d/workspace/Hello/Debug/Hello.exe . ./Hello.exe bluebells_clipped.jpg t.png
* 実行がうまくいかない場合, C:\cygwin\bin\cygwin1.dll を C:\Windows\System32 にコピーすることを忘れている可能性がある.