编译器无法识别标志

时间:2015-11-03 19:51:43

标签: fortran gfortran

我刚刚开始使用FORTRAN,我想编译一个程序。这是我在命令行中编写make后从编译器收到的内容。

mpif77 -c                    -mcmodel=medium -i-dynamic -no-ipo -r8 -xW -traceback     -O2                    ../agile/agile_parameter_module.f
gfortran: error: unrecognized command line option ‘-i-dynamic’
gfortran: error: unrecognized command line option ‘-no-ipo’
gfortran: error: unrecognized command line option ‘-r8’
gfortran: error: unrecognized command line option ‘-traceback’

我已经下载并安装了英特尔Fortran编译器的试用版,但仍然使用gfortran,我收到了这条消息。

1 个答案:

答案 0 :(得分:1)

您使用的mpif77包装器已配置为gfortran,但不了解ifort的选项。如果您没有英特尔Fortran的群集工具,您将无法拥有其MPI包装mpiifort,并且必须配置openmpi才能使用ifort。

如果你想避免编译openmpi为ifort设置它你可以尝试使用像ifort这样的gfortran的MPI包装器:

ifort <ifort command line arguments> `mpif77 -showme:compile`

用于编译步骤和

ifort <ifrot command line arguments> `mpif77 -showme:link`

用于链接步骤。

如果那些不直接工作,您可以查看mpif77发出的选项,并根据需要修改ifort。这是一个临时解决方案,只是为了构建您的软件,但是对于长期解决方案,您应该正确设置openmpi以使用ifort。