4

免责声明:我对我的特定编译问题相当深入,但对编译世界还是很陌生。

背景: 我正在使用 Windows 7、64 位机器。我正在尝试使用 mingw-w64 编译一个相当大的 fortran 程序。编译过程由 SCONS(类似或源自 gnu Make)控制。我已经使用 g95 和 mingw gfortran 通过 scons 成功编译了这个程序。我曾尝试使用 mingw-w64 的 tdm-gcc 和 '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