如何在MinGW中包含MPICH2库

3
我一直遇到错误:
 fatal error: mpi.h: No such file or directory

我应该如何将 mpi.h 包含为默认库? 我相信我已经将 c:\MPICH2\bin 加入到系统变量 > path 中。

2个回答

4
编译器找不到头文件。系统路径变量与此无关。
为了运行编译器,需要将其添加到系统路径中(这是操作系统在命令行中输入“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时可能无法直接工作。


谢谢,我已经用这个代码完成了。 g++ -I"c:\MPICH2\include" testmpi.c -o testmpi.exe -L"c:\MPICH2\include" -lmpi - Rijdzuan Sampoerna

0

我在 Ubuntu 13.10 上遇到了相同的问题。如果您使用 bash shell,请在 .bashrc 中添加此行:

export C_INCLUDE_PATH=/usr/lib/openmpi/include

对我来说起了作用


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接