Fortranプログラミングの続き

引越しを終えて、新たにPCを購入した。ということで、以前練習しておいたFortran開発環境を実際に構築してみたので、再度やり方をまとめておく。
まずはVisual C++ Express EditionとPlatform SDKのインストールから。
Visual C++のインストールは問題なかったが、Platform SDKのインストールがどうもうまくできていない模様。以前と同じやり方なのになぁ。。。

そうそう、以前は英語の解説ページしかなかったが、日本語に訳されたページが公開されていたので、改めて紹介する。
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
環境変数はきちんと追加したのに、VC++でWin32アプリをビルドするとincludeファイルがみつからないというエラーが出たが、下記の"ノート"を追加で行ってようやく成功

ノート:
代わりに、Visual C++ Express Edition がインストールされているフォルダのサブフォルダにある \vc\vcpackages に存在するVCProjectEngine.dll.express.config ファイルを修正することで、Visual C++ フォルダの更新を行うことも可能です。ただし、Visual C++ Express Edition を再度立ち上げる前に、「%USERPROFILE%\Local Settings\Application Data\Microsoft\VCExpress\8.0」 において "vccomponents.dat" が存在する場合は、その削除を行うことも忘れずに行ってください。

具体的な修正方法が掲載されていないけど、10行目と12行目のIncludeとLibにそれぞれ

  1. C:\Program Files\Microsoft Platform SDK\Include
  2. C:\Program Files\Microsoft Platform SDK\Lib

を追加したら成功した。

Intelコンパイラをこの後インストールして、例によってifortvars.batとifort.cfgを編集。サンプルコードディレクトリにあるint_sin.f90がコンパイル、実行できればオーケー。

結構面倒な作業ではあるのだが。。。VF9.1でVC++2005に正式対応するとの情報も入っている(VFのユーザーズフォーラム)から、これが出たらもう少しインストールは楽になるのかな。

追記だが、Platform SDKのインストールの際、カスタムインストールでは環境変数への登録がオフになっていることがわかる。どうも、他の環境変数との衝突を避けるためと書いてあったが、今回は強引に登録することにしてみた。その結果、path, lib, includeのほかにいくつかの環境変数が登録されていたのと、システム環境変数とユーザー環境変数の両方にpath, lib, includeが追加されていた。2重登録でも問題はないだろうが、気持ち悪いので、ユーザー環境変数に登録されたPlatform SDK関連のものは削除したことをメモしておく。

環境が整ったところで、簡単な1次元衝撃波管問題のコードをコンパイル
VC++からのプロジェクトには対応していないため、nmakeコマンドによってコンパイルを行う。
Makefileの記述の仕方はUNIXとほぼ同じで問題ないようだが、コンパイルオプションだけは注意が必要。
倍精度のオプションは-r8ではなくて/4R8。(integerの場合はr(R)をi(I)に読み替え)。
ターゲットの実行ファイルには拡張子exeをつける必要がある。

これでコンパイルができ、見事実行された。結果も問題なし。

こんなところだろうか。後はこれからもう少し複雑なものを試して、様子を見ていくことにする。