无法在Cygwin中创建可移植的Fortran可执行文件

时间:2013-10-30 19:51:41

标签: cygwin fortran static-libraries

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

  

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

只需将cygwin1.dll与二进制文件一起打包(两者都在同一个文件夹中),然后运行就可以了。