【问题标题】:Unable to make a portable Fortran executable in Cygwin无法在 Cygwin 中制作可移植的 Fortran 可执行文件
【发布时间】:2013-10-30 19:51:40
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 不,但是根据您的评论和第一个答案,我会尝试一下并报告。

标签: cygwin fortran static-libraries


【解决方案1】:

这在Cygwin FAQ 中有部分解释。解决方案是安装 mingw64-i686-gcc-fortran 包及其依赖项,并使用 i686-w64-mingw32-gfortran -static 交叉编译您的代码。

【讨论】:

    【解决方案2】:

    只需将 cygwin1.dll 与您的二进制文件(都在同一个文件夹中)一起打包,它就可以正常运行了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-19
      • 2010-12-19
      • 2013-10-07
      相关资源
      最近更新 更多