2015-11-03 157 views
3

我刚开始我的工作,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,并且我收到了该消息。

+2

您需要从英特尔使用MPI编译器(包装),或使用英特尔编译器编译MPICH /的openmpi,然后用成品包装纸。 –

回答

1

您正在使用的mpif77包装已配置为gfortran,该包装不理解ifort的选项。如果你不具备英特尔Fortran集群工具,你不会有自己的MPI包装器mpiifort,将必须配置openmpi使用ifort。

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

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

的编译步骤和

ifort <ifrot command line arguments> `mpif77 -showme:link` 
链接步骤为

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

+0

@physicist我的建议是直接调用ifort将'mpif77 -showme:compile'的输出添加到命令行中。 – casey

+0

我跟着你的意见,但现在我就在另外: 'gfortran:错误:无法识别的命令行选项“-showme:compile'' – physicist

+0

好了,现在'ifort:不found'。如果没有英特尔编译器,是否可以编译? – physicist

相关问题