« カメラバッグ当選 | トップページ | いろいろアップデート »

2006年11月20日 (月曜日)

GSLをWindowsのVisual C++で使う

参考にしたサイト


-----
GSL (GNU Scientific Library) とはC/C++言語用の、科学技術計算ライブラリで、無料で利用できます。ベクトル・行列計算,微分・積分,特殊関数など、およそあらゆる数値計算のサブルーチンが用意されています。
GSLはUNIX系のGCCでなら、配布されているソースコードから比較的簡単にコンパイルして導入できますが、WindowsのVisual C/C++(以後VCと略記)にはそのままでは使えません。以前、たしかGSL-1.3までは、VC向けコンパイル済みバイナリを、英国のNetwork Theoryという会社が無料配布していたのですが、その後のバージョンは、有償になってしまいました。

最近、上記TMPSwikiの記事を見つけ、CERN(欧州原子核研究機構)のLCG(LHCのComputing Grid)でGSL-1.8のVC向けバイナリを無料配布しているのを知り、試してみたメモを記します。

テスト環境は、Windows XP SP2, Visual C++ 2005 Express Edition(無料)です。

-----

【1】ダウンロード
CERN/LCGのGSL配布ページを開く(リンク切れ)
→ページ中程の distribution area へのリンクを開く
→GSL_<version>__LCG_<platform>.tar.gzというファイルをダウンロード
 2006年11月現在、最新版はGSL_1.8__LCG_win32_vc71.tar.gz(直リンク 2.6MB)

【2】展開
GSL展開tar.gzを展開できるソフトで、展開する。
右図のようなディレクトリ構成になる。

include\gsl 内は、ヘッダファイル(拡張子 *.h)
lib内は、ライブラリファイル(拡張子 *.lib, *.dll)

【3】ヘッダファイルの配置
展開した gsl フォルダを
(Visual Studioのインストール先)\VC\include
以下にコピー
GSL_include

【4】ライブラリファイルの配置
*.libファイルについて
展開したlibフォルダ以下の*.libは
(Visual Studioのインストール先)\VC\lib
にgslフォルダを作り、その中にコピーする。
gsl.lib配置
(実は【5】の手順でライブラリを登録すれば、どこに置いてあっても動きます。)

*.dllファイルについて
gsl.dllとgslcblas.dllを実行PATHの通った所に置く。定番は、

  • 今後よく使うようなら、C:\WINDOWS\system32 内へ。この場合、一度だけコピーすればよい。
  • たまにしか使わないようなら、コンパイルしてできる実行ファイルと同じ場所。プロジェクトフォルダ内の、debugとかreleaseというフォルダ内へコピー。新しいプロジェクトを作るごとに、dllをコピーして入れる。

【5】VCでのプロジェクトの設定
プリプロセッサ設定
プロジェクトのプロパティを開き、「構成」→「C/C++」→「プリプロセッサ」を開き、「プリプロセッサの定義」フィールドに";GSL_DLL"を追加する。
GSL_preprocessorクリックで拡大

ライブラリ追加
gsl.lib追加VCのプロジェクトに「既存項目の追加...」で、gsl.libを追加する。線形代数を使うなら、gslcblas.libも。
新しいプロジェクトを作るたびに追加する必要がある。GSLをよく使うなら、ライブラリディレクトリへのショートカットを、アクセスしやすい場所に作っておくと便利。

(プロジェクトのプロパティでライブラリディレクトリと、ライブラリファイル名を指定する方法もあるけど、難しいうえ使い勝手が悪いので説明省略。)

-----
上記の内容をうちの研究室向けに解説した文書

GSL_VC


|

« カメラバッグ当選 | トップページ | いろいろアップデート »

パソコン・インターネット」カテゴリの記事

コメント

GSL_VC.pdfを改定しました。
2008年6月現在、GSLの最新版は、ソースが1.11、CERNのVC用バイナリが1.10です。

投稿: ごんざぶろう | 2008年6月19日 (木曜日) 12:35

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/23831/12752549

この記事へのトラックバック一覧です: GSLをWindowsのVisual C++で使う:

« カメラバッグ当選 | トップページ | いろいろアップデート »