致命错误:mpi.h:没有这样的文件或目录#include <mpi.h>

新手上路,请多包涵

当我只用

#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 许可协议

阅读 8.9k
2 个回答

问题几乎可以肯定是您没有使用 MPI 编译器包装器。无论何时编译 MPI 程序,都应该使用 MPI 包装器:

  • C - mpicc
  • C++ - mpiCC , mpicxx , mpic++
  • FORTRAN - mpifort , mpif77 , mpif90

这些包装器为您完成所有繁琐的工作,以确保在您编译程序时包含所有适当的编译器标志、库、包含目录、库目录等。

原文由 Wesley Bland 发布,翻译遵循 CC BY-SA 3.0 许可协议

一旦你安装了 mpi:

$ sudo apt install mpich

查看库的安装位置,每种情况都不同:

$ mpicc -显示

就我而言:(Ubuntu 20.0)

并添加…

#include </usr/lib/x86_64-linux-gnu/openmpi/include/openmpi>

:-)

原文由 Carlos Noé 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题