当我只使用这个命令编译我的脚本时
#include <mpi.h>
它告诉我找不到该文件或目录,但当我把路径包含进mpi.h时
#include "/usr/include/mpi/mpi.h"
路径正确时返回:
In file included from /usr/include/mpi/mpi.h:2087:0,
from lbm.cc:7:
/usr/include/mpi/openmpi/ompi/mpi/cxx/mpicxx.h:35:17: fatal error: mpi.h: No such file or directory
#include "mpi.h"
^
compilation terminated.
有人知道如何修复这个问题吗?
mpicc main.c -o main
或者mpiCC main.cpp -o main
这样的命令进行编译。关于第二条信息:你的计算机上可能有两个MPI标准的实现。您可以通过键入which mpicc
,which mpirun
,mpirun --version
或module avail
来了解更多信息。编译器命令的实现(openmpi还是mpich2等)必须与执行程序的命令相同,即mpirun -np 2 main
。 - francis