在Cygwin中安装gfortran
我试图用gfortran或g95编译器在Cygwin中编译一个建模程序。我已经安装了这两个编译器,但当我去配置程序时,它会检查编译器,然后找不到在Cygwin中安装gfortran,fortran,cygwin,fortran90,gfortran,Fortran,Cygwin,Fortran90,Gfortran,我试图用gfortran或g95编译器在Cygwin中编译一个建模程序。我已经安装了这两个编译器,但当我去配置程序时,它会检查编译器,然后找不到(错误:Fortran编译器无法创建可执行文件)。我是Cygwin的新手——我怀疑这与我如何/在哪里安装编译器有关……有什么想法吗 谢谢, L.对于使用自动工具的初学者来说,这个问题很常见。它可以是: 图书馆缺失;这可能是您的项目或编译器/系统库中缺少的库,如用于g95的libgfortran或类似库 自动工具无法检测到您的编译器 动态图书馆问题;未设置
(错误:Fortran编译器无法创建可执行文件)
。我是Cygwin的新手——我怀疑这与我如何/在哪里安装编译器有关……有什么想法吗
谢谢,
L.对于使用自动工具的初学者来说,这个问题很常见。它可以是:
LD\u库路径
hello world
程序。如有必要,请安装缺少的库。还要确保您可以将您的hello world
程序与建模程序使用的相同库相链接,最后一句话可能会导致第三种情况path
变量或类似变量中。或者显式地给出要配置的编译器的完整路径LD_LIBRARY_path
,或cygwin中的类似变量。在我的一个例子中,问题是autotools
用来测试编译器的测试程序无法运行。已成功编译,但无法运行。我在库路径中未包含的路径中安装了项目使用的所有库。发生的情况是,在configure.ac
或makefile.am
中设置了这些库的路径,因此编译是正常的。但是运行configure中包含的测试程序找不到它们。这是一个主要针对动态链接库的问题。将路径添加到my.so到LD\u库中\u路径
解决了这个问题以下内容也会有所帮助。对于我来说,让可执行代码来完成这个过程更有帮助,所以我将加入一些。这是为了解决你的问题 我怀疑这与我安装编译器的方式/地点有关 因为来自apt cyg的安装应该有助于让系统知道在哪里可以找到编译器。我也在讨论一个可能的联系问题
bballdave025@MY-机器/cygdrive/c/bballdave025
$apt cyg安装gcc fortran libgfortran5
如果您还没有apt cyg,请按照中的说明进行操作
#进入安装程序可执行文件所在的位置。
#这是您第一次安装Cygwin时使用的。
#请注意,我的是64位版本,而且
#我把我的保存在C:\cygwin64中。你的道路可能是
#不一样。您可能还需要重新下载
#Cygwin中的安装程序可执行文件。
$cd/path/to/setup\u安装/setup\u x86-64.exe-q-P wget
$wgethttps://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
$chmod+x apt cyg
$mv apt cyg/usr/local/bin
可能需要使用
libgfortran5
(或更新版本,如果搜索时可用)。这就是为什么我认为可能是这样
bballdave025@MY-机器/cygdrive/c/bballdave025
$man gcc | grep-a3“[]*[-]l[]\{0,2\}库$”
-图书馆
-图书馆
链接时搜索名为library的库。(二)
将库作为单独参数的备选方案仅适用于
POSIX合规性,不建议使用。)
(请注意,我没有包括结果中一些不有用的部分,可以通过在命令前面加上MANWIDTH=160
,cf来修复这些部分。)
关于文件上的lib
前缀,有更多的细节和稍有不同的结果:
您可以随意命名一个库,但是如果您想让gcc的-l标志找到正确的库,您需要按照链接描述的方式命名它。例如,gcc-o myapp myapp.c-lm
,[w]将编译myapp.c
,将结果对象链接到libm.a
,并输出一个名为myapp
的可执行文件。现在,可能有一个更复杂的搜索路径涉及动态库名称等,但您应该从这个示例中了解基本概念。[此外,您可以从gcc
手册页查看本节:
-l库…
。。。用lib和.a包围库并搜索多个目录
所有这些信息的基本原因是:为了链接到gfortran
库,您需要安装一个名为libgfortran
的包。我不确定这是如何工作的,尤其是Cygwinman
页面略有不同,但值得一试。在这种情况下,您可能需要的额外内容如下
apt cyg安装libgfortran
或
apt cyg安装libgfortran5
这里有一些关于我如何找到要安装的内容的有用信息。当我遇到类似问题时,我去了,但是我只得到了三个条目,其中有三个版本的
netcdf-fortran
()。我想要