当我只用
#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.
有人知道怎么修这个东西吗?
原文由 user2804865 发布,翻译遵循 CC BY-SA 4.0 许可协议
问题几乎可以肯定是您没有使用 MPI 编译器包装器。无论何时编译 MPI 程序,都应该使用 MPI 包装器:
mpicc
mpiCC
,mpicxx
,mpic++
mpifort
,mpif77
,mpif90
这些包装器为您完成所有繁琐的工作,以确保在您编译程序时包含所有适当的编译器标志、库、包含目录、库目录等。