某工程文件需要使用gfortran-7编译器,我按照要求安装了:gfortran-7之后,依然报错如下:
解决方法如下:
1. 首先确认是否已经通过 apt-get 成功安装了 gfortran。(apt-get指令一般默认安装路径为/usr/bin)
ls /usr/bin/gfortran*
得到如下结果:
证明安装成功,那么提示未安装说明找不到,即路径未匹配。
如果下载通过atp-get找不到的话,可以去Ubuntu Repositories - pkgs.org
找对应的包及install方法
2. 将 gfortran-7 选择为默认的 gfortran
sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-7 100
此命令的格式为: sudo update-alternatives --install <链接> <名称> <路径> <优先值>
执行此操作后相当于把gfortran-7添加到了gfortran这一指令的备选项(当然,也可以把g-5也添加进来)
而后执行
gfortran -v
此时:
说明已经成功了。
3. 如果配置了多个版本的 gfortran, 切换指令
如果将g-5等多个版本配置给gfortran这一名称,那么当需要切换不同的版本时,运行指令:
sudo update-alternatives --config gcc
然后按序号回车,即可选择。之后,gcc-v,提示即为当前的版本了。
总结
(我自己的理解,可能并不完全准确)
当程序要调用系统的某一模块时,此时该模块有一个名称,比如gfortran
我下载了gfortran-7,并没有将他配置给gfortran
所以当需要调用gfortran的时候依然会报错,提示我未安装(我之前也没把系统里有的g-5配置)
此时,需要把gfortran-7设置为gfortran的备选项,之后再选中它就可以了。
对于其他的功能包,意思相同。