グラフ表示ライブラリとして一部の業界ではデファクトスタンダードのPGPLOT. Cygwin/XがあればWindowsでも動くかなあと思い,コンパイルしてみたら見事動作しました(makefileとソースを一部編集する必要がありました). * PGPLOTのインストール [#ldf2a9ff] せっかくWindowsなのですから,できるだけGUIを利用した方法で紹介します. ** ソースファイルの入手 [#d8ab3cac] PGPLOTのサイト から pgplot5.2.tar.gz を入手します.最新バージョンは5.2.2(2004年11月現在)です.デスクトップにでも保存しておきます. ** 解凍 [#l0a8e728] デスクトップに保存したpgplot522.tar.gzというファイルを解凍します(解凍ソフトは WinRAR が便利です). ** インストールフォルダの作成 [#pdf8a278] C:\cygwin\usr\localフォルダを開きます. ここにpgplotとsrcという名前のフォルダを作ります. ** コンパイル準備 - drivers.list編集 [#tb81366b] いま作った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で使用可能なドライバを選択するわけです. - /GIF - /VGIF - /LATEX - /PS - /VPS - /CPS - /VCPS - /XTERM - /XDISP - /XWINDOW - /XSERV のある行のコメントを外せば大丈夫だと思います. ** コンパイル準備 - makefile作成 [#g7477fcd] コンパイルの手順を示す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>」をコメントアウトします. ** コンパイル [#g928a8e9] 以上で準備完了,コンパイルします.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 とコマンドを打ちます. * 環境変数の設定 [#ye1abc52] 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 というコマンドを打ち込みます. * デモプログラムの実行 [#m9809485] まず,X Window Systemを立ち上げておきます.Cygwinのウィンドウで $ startx と入力します.すると,xtermという仮想ターミナルが立ち上がります. ここからデモプログラムを実行します.実行するには $ /usr/local/pgplot/pgdemo1 などとコマンドを打ちます.数字の部分は1から17まであるのでいろいろ試すといいでしょう.つぎのスクリーンショットは,pgdemo15を実行したところです. いやはや,Cygwinってすごく便利ですね.こんなにスムーズに行くとは.