NetCDFライブラリをリンクする

NetCDFライブラリを使うためには、実行ファイルの作成前にリンクしておく必要がある。
この作業をコマンドで書くと面倒であるし、Makefileを使うと間違いを少なくできる。
細かいMakefileの文法は、Makefileの基本的な書き方を参照。

Makefile例

SRCS = hoge1.f90 hoge2.f90 hoge3.f90
FC = ifort
OBJS = ${SRCS:.f90=.o}
NETINC = /usr/local/netcdf-3.6.2/include
NETLIB = /usr/local/netcdf-3.6.2/lib

ALL : EXE

EXE : ${OBJS}
        ${FC} ${OBJS} -L${NETLIB} -lnetcdf -o $@
${OBJS}: ${SRCS}
        ${FC} -c ${SRCS} -I${NETINC}
clean :
        \rm -f  *.o Makefile~ core

netCDFのインクルードファイルの場所をNETINCで、ライブラリの場所をNETLIBで指定している。
これらの行は、NetCDFのインストール先に応じて変更する。

L<dir>:リンカがライブラリを検索するディレクトリのリストに、dir(ここでは$NETLIB)を加える。
l<name>:リンカの探すライブラリとしてlib<name>.soとlib<name>.aを指定する。ここではlibnetcdf.soとlibnetcdf.aのこと。
I<dir>:FortranソースでINCLUDE行で指定されているファイル名またはモジュール名に対するディレクトリ名dirを指定する。

Fortanプログラムでの必須事項

Fortranソース内NetCDFをインクルードする必要がある。 例えばこの例では以下のようにFortranプログラムの中で書く

include "/usr/local/netcdf-3.6.2/include/netcdf.inc"
最終更新:2010年07月30日 11:13