4

免責事項:私は特定のコンパイルの問題にかなり深く関わっていますが、コンパイルの世界にはまったく新しいです。

背景: Windows 7、64 ビット マシンで作業しています。mingw-w64 を使用して、かなり大きな Fortran プログラムをコンパイルしようとしています。コンパイル プロセスは SCONS (同様または gnu Make から派生) によって制御されます。g95 と mingw gfortran を使用して、scons 経由でこのプログラムを正常にコンパイルしました。tdm-gcc と mingw-w64 の 'ruben' ビルドを使用しようとしましたが、結果は同じで満足のいくものではありませんでした。-static 引数をコンパイラ (gfortran.exe) に渡しています。gfortran と x86_64-w64-mingw32-gfortran の両方のコンパイル コマンドを使用してみましたが、同じ結果が得られました。

問題: プログラムの 64 ビット バージョンをコンパイルしようとすると、-static 引数を gfortran コンパイラに渡したにもかかわらず、ビルドされた実行可能ファイルを実行しようとすると、さまざまな dll (libgfortran、libgcc、 libquadmath、一般的に言えば)。これらのライブラリを作業ディレクトリにコピーすると、ビルドされたプログラムはエラーなしで実行され、期待どおりに実行されます。

事例のまとめ: mingw-w64 gfortran が -static コンパイル フラグを無視しているように見える

これを解決するために提供できる追加情報がある場合は、お知らせください。

ありがとう、JTJ

4

0 に答える 0