1

我正在尝试编译一个相对简单的 Fortran 可执行文件,以便可以将它传递给没有安装 Cygwin(或类似的东西)的其他 Windows 用户,但是,我无法让可执行文件作为一个独立的。我试过了gfortran -static file.fgfortran -static-libgfortran file.f但是其他用户总是遇到这个错误:

程序无法启动,因为您的计算机缺少 cygwin1.dll。尝试重新安装程序以解决此问题。

根据我在网上阅读的内容(例如这里), -static 选项应该足够了。我已经验证从我的机器(DOS 提示符)运行可执行文件确实有效。

我有 gcc (gfortran) 版本 4.7.3。我还应该指出,这是我第一次尝试编译可移植的 Fortran。

更新
在意识到这不是特定于 gfortran 的问题后(​​感谢此处的回复),搜索将我引导至相关帖子此处此处

4

2 回答 2

2

Cygwin FAQ部分解释了这一点。解决方案是安装mingw64-i686-gcc-fortran包及其依赖项,并使用i686-w64-mingw32-gfortran -static.

于 2013-10-30T22:01:35.763 回答
1

只需将 cygwin1.dll 与您的二进制文件(都在同一个文件夹中)一起打包,它就会运行得很好。

于 2013-10-31T03:53:24.097 回答