如何用gfortran编译器修复链接错误?

时间:2015-09-16 14:40:08

标签: eclipse dll fortran cygwin gfortran

我为Windows 7 64位下载了Eclipse和Cygwin。我写了下一个Fortran程序:

program main
    print*, 'Hello World'
end program main

当我尝试构建程序时出现了下一个错误:

make all 
Building target: examples
Invoking: GNU Fortran Linker
gfortran  -o "examples"  ./main.o   
gfortran: fatal error: -fuse-linker-plugin, but cyglto_plugin.dll not found
compilation terminated.
makefile:29: recipe for target 'examples' failed
make: *** [examples] Error 1

我查找了文件cyglto_plugin.dll,并在文件夹中找到了它:

C:\cygwin64\lib\gcc\x86_64-pc-cygwin\4.9.3

我尝试将此文件夹添加到PATH环境变量中,但仍然遇到相同的错误。

在网上搜索我发现问题可以通过安装库cyglto_plugin.dll(用于链接时优化)作为依赖来解决,可以在gcc-core包中找到。但是,我不知道怎么做,有人可以指教我吗?

使用命令提示符我输入以下命令禁用此库:

$ gfortran main.f90 -fno-use-linker-plugin -o main

这样做我得到了一堆新错误:

/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find crtbegin.o: No such file or directory
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lquadmath
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find crtend.o: No such file or directory

有人知道如何解决这些错误吗?

0 个答案:

没有答案