我一直收到错误:
fatal error: mpi.h: No such file or directory
如何将mpi.h
包含为默认库?
我相信我已经将c:\MPICH2\bin
放在系统变量>路径
答案 0 :(得分:4)
编译器找不到头文件。系统PATH变量与此无关。
为了运行编译器,它需要在系统PATH上(当你在命令行输入时,操作系统会查找“gcc”)。一旦GCC运行,它需要知道可以找到头文件的位置。您可以使用-I
标志添加包含路径:
gcc -I"C:/Program Files (x86)/MPICH2/include" -c -o main.o main.c
一旦完成,并且所有内容都已编译,下一步就是链接程序。您需要使用-L
标志指定库的路径:
gcc -L"C:/Program Files (x86)/MPICH2/lib" -o main.exe main.o -lmpi
通常这由mpicc
脚本处理,因此您不必担心这一点。预先构建的Windows MPICH2附带的mpicc
不能与开箱即用的MinGW一起使用(我认为)。
答案 1 :(得分:0)
我在Ubuntu 13.10上遇到了同样的问题。在.zshrc中添加此行(如果使用bash shell,则添加.bashrc)
export C_INCLUDE_PATH=/usr/lib/openmpi/include
为我做了伎俩