我刚刚开始使用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,我收到了这条消息。
答案 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。