2011-07-21 14 views
0

WindowsでFortran 90(固定フォーマット)ライブラリーをコンパイルしたいと考えています。しかし、プレコミ変数の誤差を理解することはできません。インテル®Visual Fortranを使用する際にprepocessor変数を使用する方法

Say the sample file is VF_TestPreprocessor.F: 

    program VF_TestPreprocessor 

    implicit Integer(A-Z) 

    Parameter (TestAlpha=22,TestBeta=TestGamma) 

    print *, TestBeta 

    end program VF_TestPreprocessor 

Linuxでは、ifort VF_TestPreprocessor.F -DTestGamma=25をコンパイルして実行することができます。

ただし、Windowsでは、ifort VF_TestPreprocessor.F /DTestGamma=25をコンパイルすることはできません。エラーメッセージはerror #6592: This symbol must be a defined parameter, an enumerator, or an argument of an inquiry function that evaluates to a compile-time constant. [TestGamma]です。エラーを分析するのに役立つでしょうか?

答えて

1

ifortはプリプロセッサを実行していないようです。私はifortの経験はありませんが、this page(Googleの最初のヒットifort preprocessor)は、Windowsではプリプロセッサが拡張子が.fppで終わっている場合にのみ実行されると言います。だから、

、私は(少なくとも)2つの解決策があると思います。

  • .fppで終了するファイルの名前を変更します。
  • /fppスイッチでifortを起動します。
+0

お寄せいただきありがとうございます!しかし、2つのソリューションのどちらも機能しません。 "./ifort.exe VF_TestPreprocessor.F/DDEFMAXXCNAME = 25/fpp"を実行したときのエラーメッセージは、 "link:unknown option - s"であり、コンパイル部分が成功したことを示しています。 (もう1つの手がかりは "./ifort.exe VF_TestPreprocessor.F/DDEFMAXXCNAME = 25/fpp/c"です)新しいエラーメッセージについてコメントしてもらえますか? – SOUser

+0

"link:unknown option - s"のエラーメッセージは、実際に私の間違いです。 http://software.intel.com/en-us/forums/showthread.php?t=81388&o=d&s=lr – SOUser

関連する問題