Code:Blocks 尽管已安装但无法检测到 gfortran
Code:Blocks cannot detect gfortran although installed
我相信我的问题与此类似post:Linux: cannot find lgfortran though gfortran is installed。
但是,由于建议的答案不能解决我的问题,对于像我这样绝望的 Linux 新人来说,除了再次询问之外似乎别无选择。
问题来了。我安装了 GNU fortran 编译器 4.8.4 并且可以在终端中找到它
$ which gfortran-4.8
/usr/bin/gfortran-4.8
和
$ locate gfortran
/usr/bin/gfortran-4.7
/usr/bin/gfortran-4.8
/usr/bin/x86_64-linux-gnu-gfortran-4.7
/usr/bin/x86_64-linux-gnu-gfortran-4.8
/usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortran.a
/usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortran.so
/usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortran.spec
/usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortranbegin.a
/usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.a
/usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.so
/usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.spec
/usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortranbegin.a
/usr/lib/x86_64-linux-gnu/libgfortran.so.3
/usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0
/usr/share/doc/gfortran-4.7
/usr/share/doc/gfortran-4.8
/usr/share/doc/libgfortran-4.7-dev
/usr/share/doc/libgfortran-4.8-dev
/usr/share/doc/libgfortran3
/usr/share/man/man1/gfortran-4.7.1.gz
/usr/share/man/man1/gfortran-4.8.1.gz
/usr/share/man/man1/x86_64-linux-gnu-gfortran-4.7.1.gz
/usr/share/man/man1/x86_64-linux-gnu-gfortran-4.8.1.gz
/var/cache/apt/archives/gfortran-4.7_4.7.3-12ubuntu1_amd64.deb
/var/cache/apt/archives/gfortran-4.8_4.8.4-2ubuntu1~14.04_amd64.deb
/var/cache/apt/archives/libgfortran-4.7-dev_4.7.3-12ubuntu1_amd64.deb
/var/cache/apt/archives/libgfortran-4.8-dev_4.8.4-2ubuntu1~14.04_amd64.deb
/var/cache/apt/archives/libgfortran3_4.8.4-2ubuntu1~14.04_amd64.deb
/var/lib/dpkg/info/gfortran-4.7.list
/var/lib/dpkg/info/gfortran-4.7.md5sums
/var/lib/dpkg/info/gfortran-4.8.list
/var/lib/dpkg/info/gfortran-4.8.md5sums
/var/lib/dpkg/info/libgfortran-4.7-dev:amd64.list
/var/lib/dpkg/info/libgfortran-4.7-dev:amd64.md5sums
/var/lib/dpkg/info/libgfortran-4.8-dev:amd64.list
/var/lib/dpkg/info/libgfortran-4.8-dev:amd64.md5sums
/var/lib/dpkg/info/libgfortran3:amd64.list
/var/lib/dpkg/info/libgfortran3:amd64.md5sums
/var/lib/dpkg/info/libgfortran3:amd64.postinst
/var/lib/dpkg/info/libgfortran3:amd64.postrm
/var/lib/dpkg/info/libgfortran3:amd64.shlibs
/var/lib/dpkg/info/libgfortran3:amd64.symbols
所以 gfortran 似乎已安装,虽然我不明白为什么在我删除它后 4.7 版本仍然存在。
在 Code:Blocks 的全局编译器设置中,当我选择 GNU Fortran 编译器及其工具链可执行文件时,我尝试将安装目录设置为
/usr
/usr/bin
和
/usr/lib/gcc/x86_64-linux-gnu/4.8/
按照前面的建议post,Code:Blocks告诉我
could not auto-detect installation path of "GNU Fortran Compiler".....
编译器配置的更多细节在图片中(感谢 Mike 的建议)。
这里是我电脑上编译器的完整列表:
List of Compliers
您的帖子显示您同时拥有 gfortran-4.7
和 gfortran-4.8
安装在 /usr/bin
.
下
拥有多个 GCC Fortran 编译器(或多个 C 或 C++ 编译器)是
完全有效且司空见惯。 Code::Blocks 将允许您配置
尽可能多的 Fortran 编译器,只要你给它们不同的
名字。如果您只想将其中之一配置为
"GNU Fortran Compiler" 并忽略其他人。
但无论如何,Code::Blocks必须能够明确识别
您正在调用的已安装编译器 "GNU Fortran Compiler"。你
已将 编译器的安装目录 指定为 /usr/bin
并将 Program files 编译器名称保留为 gfortran
.
你的系统中没有/usr/bin/gfortran
这样的编译器,
并且在您的 PATH
中没有任何名为 gfortran
的程序。你
有 /usr/bin/gfortran-4.7
和 /usr/bin/gfortran-4.8
。正如你所拥有的
安装了它们,Code::Blocks 假定您同时需要它们。它
无法分辨您要将其中哪一个配置为 "GNU Fortran Compiler".
所以:-
- 设置编译器的安装目录 =
/usr/bin
- 在程序文件中,将所有出现的
gfortran
更改为gfortran-4.8
,
如果你想让 "GNU Fortran Compiler" 表示 gfortran-4.8
.
- 确定。
20.3版本默认编译器名称为mingw32-gfortran。但是,安装时附带的可执行文件名称是 x86_64-w64-mingw32-gfortran。如果这是在编译器设置中编写的。有效。enter image description here
我相信我的问题与此类似post:Linux: cannot find lgfortran though gfortran is installed。 但是,由于建议的答案不能解决我的问题,对于像我这样绝望的 Linux 新人来说,除了再次询问之外似乎别无选择。
问题来了。我安装了 GNU fortran 编译器 4.8.4 并且可以在终端中找到它
$ which gfortran-4.8
/usr/bin/gfortran-4.8
和
$ locate gfortran
/usr/bin/gfortran-4.7
/usr/bin/gfortran-4.8
/usr/bin/x86_64-linux-gnu-gfortran-4.7
/usr/bin/x86_64-linux-gnu-gfortran-4.8
/usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortran.a
/usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortran.so
/usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortran.spec
/usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortranbegin.a
/usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.a
/usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.so
/usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.spec
/usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortranbegin.a
/usr/lib/x86_64-linux-gnu/libgfortran.so.3
/usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0
/usr/share/doc/gfortran-4.7
/usr/share/doc/gfortran-4.8
/usr/share/doc/libgfortran-4.7-dev
/usr/share/doc/libgfortran-4.8-dev
/usr/share/doc/libgfortran3
/usr/share/man/man1/gfortran-4.7.1.gz
/usr/share/man/man1/gfortran-4.8.1.gz
/usr/share/man/man1/x86_64-linux-gnu-gfortran-4.7.1.gz
/usr/share/man/man1/x86_64-linux-gnu-gfortran-4.8.1.gz
/var/cache/apt/archives/gfortran-4.7_4.7.3-12ubuntu1_amd64.deb
/var/cache/apt/archives/gfortran-4.8_4.8.4-2ubuntu1~14.04_amd64.deb
/var/cache/apt/archives/libgfortran-4.7-dev_4.7.3-12ubuntu1_amd64.deb
/var/cache/apt/archives/libgfortran-4.8-dev_4.8.4-2ubuntu1~14.04_amd64.deb
/var/cache/apt/archives/libgfortran3_4.8.4-2ubuntu1~14.04_amd64.deb
/var/lib/dpkg/info/gfortran-4.7.list
/var/lib/dpkg/info/gfortran-4.7.md5sums
/var/lib/dpkg/info/gfortran-4.8.list
/var/lib/dpkg/info/gfortran-4.8.md5sums
/var/lib/dpkg/info/libgfortran-4.7-dev:amd64.list
/var/lib/dpkg/info/libgfortran-4.7-dev:amd64.md5sums
/var/lib/dpkg/info/libgfortran-4.8-dev:amd64.list
/var/lib/dpkg/info/libgfortran-4.8-dev:amd64.md5sums
/var/lib/dpkg/info/libgfortran3:amd64.list
/var/lib/dpkg/info/libgfortran3:amd64.md5sums
/var/lib/dpkg/info/libgfortran3:amd64.postinst
/var/lib/dpkg/info/libgfortran3:amd64.postrm
/var/lib/dpkg/info/libgfortran3:amd64.shlibs
/var/lib/dpkg/info/libgfortran3:amd64.symbols
所以 gfortran 似乎已安装,虽然我不明白为什么在我删除它后 4.7 版本仍然存在。
在 Code:Blocks 的全局编译器设置中,当我选择 GNU Fortran 编译器及其工具链可执行文件时,我尝试将安装目录设置为
/usr
/usr/bin
和
/usr/lib/gcc/x86_64-linux-gnu/4.8/
按照前面的建议post,Code:Blocks告诉我
could not auto-detect installation path of "GNU Fortran Compiler".....
编译器配置的更多细节在图片中(感谢 Mike 的建议)。
这里是我电脑上编译器的完整列表:
List of Compliers
您的帖子显示您同时拥有 gfortran-4.7
和 gfortran-4.8
安装在 /usr/bin
.
拥有多个 GCC Fortran 编译器(或多个 C 或 C++ 编译器)是 完全有效且司空见惯。 Code::Blocks 将允许您配置 尽可能多的 Fortran 编译器,只要你给它们不同的 名字。如果您只想将其中之一配置为 "GNU Fortran Compiler" 并忽略其他人。
但无论如何,Code::Blocks必须能够明确识别
您正在调用的已安装编译器 "GNU Fortran Compiler"。你
已将 编译器的安装目录 指定为 /usr/bin
并将 Program files 编译器名称保留为 gfortran
.
你的系统中没有/usr/bin/gfortran
这样的编译器,
并且在您的 PATH
中没有任何名为 gfortran
的程序。你
有 /usr/bin/gfortran-4.7
和 /usr/bin/gfortran-4.8
。正如你所拥有的
安装了它们,Code::Blocks 假定您同时需要它们。它
无法分辨您要将其中哪一个配置为 "GNU Fortran Compiler".
所以:-
- 设置编译器的安装目录 =
/usr/bin
- 在程序文件中,将所有出现的
gfortran
更改为gfortran-4.8
, 如果你想让 "GNU Fortran Compiler" 表示gfortran-4.8
. - 确定。
20.3版本默认编译器名称为mingw32-gfortran。但是,安装时附带的可执行文件名称是 x86_64-w64-mingw32-gfortran。如果这是在编译器设置中编写的。有效。enter image description here