我的操作系统是ubuntu
我通过synaptic
下载了mpich然后我尝试编译代码:
ifort hello.f
我收到错误消息:
无法打开包含文件'mpif.h'
似乎找不到mpif.h
如何解决?
答案 0 :(得分:2)
您的编译器在读取源文件时找不到包含文件。我现在无法访问我的开发平台,但是从内存中,文件位于
这样的位置MPICH_ROOT/include/ARCH/
你必须弄清楚机器上MPICH_ROOT
和ARCH
的内容;请注意,它们不是环境变量,它们只是我选择解释问题的占位符。如果所有其他方法都失败了,找到安装了mpich的目录结构的根目录并执行
find . -name mpif.h
如果文件中出现多次不同的架构和编译器变体(例如ifort 32-bit,gfortran 64-bit等),请不要感到惊讶。
找到文件后,修改您的编译命令(更好的是,编写一个makefile),如
ifort -I/path/to/file/to/include/ hello.f
在搜索时,还要查看mpi.mod
文件。替换
include 'mpif.h'
与
use mpi
可能是一个好主意。