Last modified 12 years ago Last modified on 12/01/05 11:13:16

環境設定

VS.NET2003のプロジェクトプロパティの設定方法や,gccのコンパイルオプションなどについて説明します.




MIST と LAPACK を用いる場合

自分が今使っている開発環境で,MIST 並びに LAPACK(行列・数値演算ライブラリ)を使用する際の 最も単純な環境設定 の方法を説明します.


Windows(VS.NET, VS.NET2003)の場合

  1. MIST をダウンロードし,展開したフォルダの中にある "mist" というフォルダを適当な場所(この説明では,"C:\hogehoge\include\" とする)にコピーします.

  2. LAPACKの構築方法 の下の方にある Lapack-VC.zip をダウンロードし,展開したフォルダの中にある4つのファイル("blas.lib", "lapack.lib", "libF77.lib", "libI77.lib")を適当な場所(この説明では,"C:\hogehoge\lib\" とする)にコピーします.

  3. .NET を起動して,ファイル新規作成プロジェクトVisual C++プロジェクト空のプロジェクト(.NET)で適当なプロジェクトを作成し,適当なC++ソースファイルを作成・追加します.

  4. プロジェクトの 構成プロパティC/C++全般追加のインクルードディレクトリ"C:\hogehoge\include" を追加します(これでMIST側の設定はOK!).

  5. プロジェクトの 構成プロパティリンカ全般追加のライブラリディレクトリ"C:\hogehoge\lib" を追加します(こちらはLAPACK側).

  6. プロジェクトの 構成プロパティリンカ入力追加の依存ファイル に 先ほどの4つのファイルの名前("blas.lib", "lapack.lib", "libF77.lib", "libI77.lib") を追加します.

Ctrl+F5デバッグなし実行 して下さい.


LINUX(gcc 3.0以上)の場合

  1. MIST をダウンロードし,展開したディレクトリの中にある "mist" というディレクトリを適当な場所(この説明では,"/hogehoge/include/" とする)にコピーします.

  2. LAPACKの構築方法 の下の方にある Lapack-gcc-LINUX.tar.bz2 をダウンロードし,展開したディレクトリの中にある4つのファイル("libblas.a", "liblapack.a", "libF77.a", "libI77.a")を適当な場所(この説明では,"/hogehoge/lib/" とする)にコピーします.

  3. "hoge.cpp"という名前のソースファイルから,以下のようにして実行ファイル "hoge" を作ります.

g++ のオプションで指定(リンクの順番-llapack -lblas -lF77 -lI77は重要! )

% g++ hoge.cpp -o hoge -Wall -DNDEBUG -O2 -I/hogehoge/include -L/hogehoge/lib 
    -lm -llapack -lblas -lF77 -lI77 -lpthread

上の指定を毎回書くのは大変なので "Makefile" を作成して使うのが普通だと思います.

#
# Makefile の記述例(とりあえずこれで動きます)
#

# マクロ定義

CC      = g++
INCLUDE = -I../include -I/usr/local/include -I/usr/include -I/hogehoge/include
LDLIBS  = -L../lib -L/usr/local/lib -L/usr/lib -L/hogehoge/lib
CFLAGS  = -Wall -DNDEBUG -O2
LIBS    = -lm -llapack -lblas -lF77 -lI77 -lpthread
# リンクの順番は重要!↑↑↑

TARGET = hoge
OBJS   = hoge.o


# ターゲット

all: $(TARGET)

hoge: $(OBJS)
    $(CC) -o $@ $(OBJS) $(LDLIBS) $(LIBS)
# ↑↑↑空白Tab文字

.cpp.o:
    $(CC) $(CFLAGS) -c $< $(INCLUDE)
# ↑↑↑空白Tab文字


# ファイル削除用ターゲット

.PHONY: clean
clean:
    rm -f $(OBJS) $(TARGET)
# ↑↑↑空白Tab文字

"hoge.cpp" と同一のディレクトリに,上のような内容を書いた "Makefile" という名前のファイルを作成して,make します.

% make




その他の場合

他の外部ライブラリ(libjpeg, libpng, ffmpeg等)を利用する場合の環境設定方法に関しても,基本的には上記と同様な方法です。
詳しくは,それぞれのドキュメントを参照して下さい.