アップデート
図書館で役立つ洞察をくれたウラジミールに感謝します。私は別のアプローチを取り、最初にubuntuで開発しました(これはEclipse/Cygwin/をいじるよりもはるかに簡単でした...そして今、私はWindowsに移植しようとしていますが、これはかなりうまくいきますが、それについてもいくつか質問があります、ここに投稿: Fortran プログラムを ubuntu から Windows に移植する際の問題
質問
現在、次のセットアップがあり、fortran コードをコンパイルできるように lapack ライブラリを構成できません。
- ウィンドウズ7
- Windows PATH に追加された Cygwin インストール (GNU fortran 用)
- cygwin でインストールされた lapack と liblapack-devel
- C:/cygwin/lib フォルダーに liblapack.a と libblas.a が作成されます。
私のプログラムでは、次のコードを使用して lapack ライブラリを呼び出します
program myProgram
!use lapack (stays commented now)
...
Eclipse では、次のセットアップを使用しました (Photran パッケージを使用)。
- Fortran プロジェクト: Windows で実行可能な GNU fortran (GCC ツールチェーン)
- GNU fortran コンパイラ:
gfortran ${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}
- GNU fortran リンカ:
gfortran ${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}
ライブラリ libblas.a と liblapack.a をコンパイルして、Windows 用の静的ライブラリとして使用しました。これらは C:/cygwin/lib フォルダーにあります。GNU fortran リンカ プロパティで、ライブラリが呼び出さlapack
れblas
、フォルダ内にありましたC:/cygwin/lib
。これにより、コンパイラとリンカ-L"C:/cygwin/lib" -llapack -lblas
のセクションに一部が作成されます。{$COMMAND}
(助けてくれた@vladimir-fに感謝します)
出力には、エラー メッセージはもう残っていません。私だけがEclipseで次のエラーを受け取り、最終的な.exeまたはビンはありません:
Errors occured during the build.
Errors running builder 'CDT Builder' on project 'Hamfem'
Internal error building project Hamfem configuration
Release
java.lang.NullPointerException
Internal error building project Hamfem configuration
Release
java.lang.NullPointerException
ただし、ビルドの結果は依然として実行可能ファイル (この場合は Hamfem.exe) です。このファイルを実行すると、(ルーチンではなく) エラー メッセージが表示されます。The program can't start because cyglapack-0.dll is missing from your computer. Try reinstalling the program to fix this problem.
そのファイルは現在 にありますC:/cygwin/lib/lapack/
が、プログラムを実行するためにこのファイルを必要としないので、別のコンピューターで実行できます。誰かがこれに協力できますか?
次に、.exe が配置されているフォルダーに .dll ファイルをコピーして貼り付けると、短時間実行され、スタックダンプ ファイルが生成されます。「Building Workspace」エラーのため、Eclipse-Photran でデバッガーを使用できません。Binary not found
Eclipseでローカルの Fortran プログラムとして実行しようとすると、Eclipse からメッセージが表示されます。この問題を解決する方法はありますか?