我正在尝试编译一个相对简单的Fortran可执行文件,以便它可以传递给没有安装Cygwin(或类似的东西)的其他Windows用户,但是,我无法获取可执行文件作为独立运营。我尝试了gfortran -static file.f
和gfortran -static-libgfortran file.f
,但其他用户总是遇到此错误:
程序无法启动,因为您的计算机缺少cygwin1.dll。尝试重新安装该程序以解决此问题。
从我在网上看到的内容(例如here),-static选项应该足够了。我已经验证从我的机器运行可执行文件(DOS提示符)确实有效。
我有gcc(gfortran)版本4.7.3。我还应该指出这是我第一次尝试编译可移植的Fortran。
答案 0 :(得分:2)
Cygwin FAQ部分解释了这一点。解决方案是安装mingw64-i686-gcc-fortran
包及其依赖项,并使用i686-w64-mingw32-gfortran -static
交叉编译代码。
答案 1 :(得分:1)
只需将cygwin1.dll与二进制文件一起打包(两者都在同一个文件夹中),然后运行就可以了。