我从来没有在VS08之外做过任何主要编程。在Ubuntu上为mpi.h设置G ++或ICC
我正试图编译一个名为LAMMPS的程序与两个相关的make文件中的任何一个。一个调用g ++,另一个调用icc(英特尔编译器)。
ICC产生这样的错误:
icc -O -DLAMMPS_GZIP -DMPICH_SKIP_MPICXX -DFFT_FFTW -M write_restart.cpp > write_restart.d write_restart.cpp(15): catastrophic error: cannot open source file "mpi.h" #include "mpi.h"
和g ++引发此错误
g++ -g -O -DLAMMPS_GZIP -DMPICH_SKIP_MPICXX -DFFT_FFTW -M verlet.cpp > verlet.d pointers.h:25: fatal error: mpi.h: No such file or directory compilation terminated.
的mpi.h文件位于/ usr/lib中/了openmpi /包括
它是我的理解是,我需要设置$ PATH变量,其中读取
bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/opt/intel/bin:/usr/lib/openmpi/include:
和$ LD_LIBRARY_PATH目前读
/usr/lib/openmpi/lib:
那么,如何一个包括mpi.h文件?所以icc或g ++找到它?
Make文件吐出立即与崩溃>致命错误MPI_Comm_rank可执行:无效通信,错误堆栈: MPI_Comm_rank(106):MPI_Comm_rank(COMM = 0x8e5bc0,秩= 0x2854d00)失败 MPI_Comm_rank(64).:无效的通信器 – Mikhail 2011-04-23 09:41:00
好的,所以我把它设置为“mpiC++。mpich2”而不是“mpiC++”时使用g ++。 – Mikhail 2011-04-23 21:32:48