【发布时间】:2014-03-12 17:35:15
【问题描述】:
我正在尝试将 MPI 编译器包含到我的 makefile 中。 makefile 已经准备好,因此我只需要将 MPI 编译器的地址包含在单独的 env 文件中。但是,这样做是行不通的。我可以通过键入以下内容手动运行 cpp 文件:
mpicxx Demo_00.cpp -o aprogram
./aprogram
我使用以下方法测试 mpi 编译器的位置:
which mpicxx
/usr/bin/mpicxx
在env文件中对应的行是:
MPICXX=/usr/bin/mpicxx
但是,当我尝试“制作”他的 cpp 文件时,我收到以下错误:
make Demo_00
g++ Demo_00.cpp -o Demo_00
Demo_00.cpp:2:17: fatal error: mpi.h: No such file or directory
compilation terminated.
make: *** [Demo_00] Error 1
cpp 文件与 env 文件和 makefile 位于同一文件夹中。
我不太确定如何识别错误。
感谢您的帮助, 塔尔塔利亚
【问题讨论】:
-
为什么需要一个 env 文件?运行 mpicxx 而不是 g++ 会做正确的事吗?您没有向我们展示任何涉及的文件。
-
我正在使用一个使用 makefile 的建模套件,所以我必须在这里顺其自然。
-
从您的问题和 cmets 中不清楚您是否知道
mpicxx通常本身不是编译器,而是另一个编译器的包装器。可能在您的安装中,包装的编译器是g++,这可以解释为什么您会从中收到错误消息。 -
我不知道这一点,感谢您指出不同之处。但是,如果包装的编译器实际上是 g++,为什么我会收到此错误消息。我基本上是在尝试遵循本教程中的说明(最后一节):repast.sourceforge.net/hpc_tutorial/… 它展示了如何使用 mpicxx 进行编译,并建议通过在上述 env 文件中添加 mpicxx 的路径来自动执行此操作。跨度>
-
向我们展示一个示例 Makefile。否则,它只是在黑暗中试图帮助你。