グラフ表示ライブラリとして一部の業界ではデファクトスタンダードのPGPLOT. Cygwin/XがあればWindowsでも動くかなあと思い,コンパイルしてみたら見事動作しました(makefileとソースを一部編集する必要がありました).
せっかくWindowsなのですから,できるだけGUIを利用した方法で紹介します.
PGPLOTのサイト から pgplot5.2.tar.gz を入手します.最新バージョンは5.2.2(2004年11月現在)です.デスクトップにでも保存しておきます.
デスクトップに保存したpgplot522.tar.gzというファイルを解凍します(解凍ソフトは WinRAR が便利です).
C:\cygwin\usr\localフォルダを開きます.
ここにpgplotとsrcという名前のフォルダを作ります.
いま作ったsrcフォルダに移動し,先ほど解凍してできたpgplotフォルダをここ(C:\cygwin\usr\local\src)に移動します.
そのpgplot(C:\cygwin\usr\local\src\pgplot)フォルダを開きます. drivers.listというファイルがあるので,それをコピーします.
コピーしたdrivers.listをC:\cygwin\usr\local\pgplotに貼り付けます.
このdrivers.listをテキストエディタで編集します.編集はメモ帳でもいいのですが,改行コードがWindowsと異なる(CR+LF)ため読みづらいです.テキストエディタには xyzzy をお勧めします.というわけで,とりあえずdrivers.listを開きます.
先頭に「!」がついている行はコメント行です.このコメントをいくつか外します.そうすることでPGPLOTで使用可能なドライバを選択するわけです.
のある行のコメントを外せば大丈夫だと思います.
コンパイルの手順を示すmakefileというものを作ります.そのmakefileをつくるmakemakeというコマンドがあるので,それを実行します.ここでようやくCygwinの出番です.
Cygwinを立ち上げ,つぎのコマンドを入力します. $ cd /usr/local/pgplot $ /usr/local/src/pgplot/makemake /usr/local/src/pgplot cygwin g77_gcc
実行したら,C:\cygwin\usr\local\pgplotにいくつか新しくファイルができています. Cygwinのウィンドウは後で使うので,そのまま残しておいてください. コンパイル準備 - makefileとソースファイルの修正
本来なら,ここまでで準備完了です.が,Cygwinのバージョンがあがったせいなのかよく分かりませんが,このままではコンパイルできず,若干の修正が必要でした.
まずmakefileです.テキストエディタで開きます. 31,32,34,48行目以降に「/usr/X11R6.4/include」という部分があります.この「X11R6.4」という部分の「.4」を削除します.つまり「/usr/X11R6/include」という具合にします.
修正するのはもう一カ所です.C:\cygwin\usr\local\src\pgplot\pgdispd\proccom.cというファイルを開き, 97行目の「#include <valuse.h>」をコメントアウトします.
以上で準備完了,コンパイルします.Cygwinのウィンドウに
$ make
と打ち込みます.しばらくメッセージが流れた後,
*** Finished compilation of PGPLOT *** Note that if you plan to install PGPLOT in a different directory than the current one, the following files will be needed. libpgplot.a grfont.dat rgb.txt pgdisp pgxwin_server Also note that subsequent usage of PGPLOT programs requires that the full path of the chosen installation directory be named in an environment variable named PGPLOT_DIR.
というメッセージで止まっていれば正常終了です.さらに,C言語からもPGPLOTを呼び出せるよう,つぎのようにコマンドを入力します.
$ make cpg
しばらくして
*** Finished compilation of the C PGPLOT wrapper library *** Note that if you plan to install the library in a different directory than the current one, both libcpgplot.a and cpgplot.h will be needed.
というメッセージが出れば正常終了です.ここまでくれば無事コンパイルが終わったので,不要なオブジェクトファイルを消すため
$ make clean
とコマンドを打ちます.
PGPLOTの使用する環境変数を設定します.C:\cygwin\home\fooディレクトリに移動し(fooの部分はユーザ名.僕の設定ではsakima),そこにある「.bashrc」というファイルをエディタで開きます.
このファイルの一番下に
export PGPLOT_DIR=/usr/local/pgplot export PGPLOT_DEV=/xserv export LD_LIBRARY_PATH=/usr/local/pgplot
を書き込みます.保存したら,環境変数の設定を反映させるため,いったんログアウトする(つまりCygwinをいったん終了する)か,
$ source ~/.bashrc
というコマンドを打ち込みます.
まず,X Window Systemを立ち上げておきます.Cygwinのウィンドウで
$ startx
と入力します.すると,xtermという仮想ターミナルが立ち上がります.
ここからデモプログラムを実行します.実行するには
$ /usr/local/pgplot/pgdemo1
などとコマンドを打ちます.数字の部分は1から17まであるのでいろいろ試すといいでしょう.つぎのスクリーンショットは,pgdemo15を実行したところです.
いやはや,Cygwinってすごく便利ですね.こんなにスムーズに行くとは.