【发布时间】:2015-01-11 06:13:51
【问题描述】:
当我只用编译我的脚本时
#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.
有人知道如何解决这个问题吗?
【问题讨论】:
-
你的编译器和操作系统是什么?
-
g++ 在 Linux 上。并且
也不起作用。 -
使用消息传递接口的程序应该使用
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相同。