首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mpi.h的位置

mpi.h的位置
EN

Stack Overflow用户
提问于 2015-12-10 01:49:32
回答 2查看 12.1K关注 0票数 4

我有一个代码在我的电脑上使用依赖于mpiPetsc。在我的电脑上它工作得很好。我把它放在集群上,导出gccPetscopenmpi的路径(虽然我在电脑上用的是mpich,但我希望openmpi也能用)到LD_LIBRARY_PATHPATH。我还更改了makefile中的路径。Petsc,gcc,openmpi都可以在集群上使用,所以我没有配置任何东西。当我执行make时,编译器给出了错误:

fatal error: mpi.h: No such file or directory

我知道我没有提供完整的信息,但如果需要的话,我可以告诉你更多。如何让Petsc知道mpi.h在哪里?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-10 02:05:36

通常,您应该使用mpicc (或C++的mpicxx )而不是gcc (或C++的g++ )进行编译。这些命令是gccg++的简单包装器,它们只是自动添加适当的-I/path/to/mpi/includes-L/path/to/mpi/libs,应该包含在您的openmpi安装中。如果没有,只需在命令中添加-I/path/to/mpi/includes来编译适当的文件。这将告诉编译器在何处查找适当的头文件。

票数 2
EN

Stack Overflow用户

发布于 2018-05-25 05:33:30

来回答这个问题。为了防止C/C++编辑器在您键入“特殊代码”时显示错误,只需使用:

代码语言:javascript
复制
#include </usr/include/mpi/mpi.h>

这似乎是一个链接--但这样做会关闭Netbeans编辑器中的错误,这样我就可以不受干扰地编写代码。注意:使用Ubuntu 18.04 Desktop作为编辑机器--并测试运行机器--但我使用mpic手动编译,如前所述。

代码语言:javascript
复制
sudo mpicc c_pi.c -o c_pi

and then...
mpiexec ./c_pi

hth

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34185600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档