>

Eclipse PTP에서 Hello World 프로그램을 C로 컴파일하려고했지만 mpi.h 와 관련된 오류가 발생합니다. .

/usr/local/include 를 포함 시켰습니다  그리고 /usr/local/lib  내 길에서 find / -name mpi.h 로 검색을 시도했습니다. . 여전히파일이나 디렉토리가 없습니다오류가 발생합니다.

mpich2 를 설치하려고했습니다 , 그러나 여전히 mpi.h 를 찾을 수 없습니다 .

또한 :

  • include 안에 폴더가 없습니다  디렉토리, 왜 그렇습니까?
  • mpicc 를 찾을 수 있습니다   /usr/bin/mpicc 에서

프로젝트를 C ++ 코드로 컴파일하려고 할 때도 같은 문제가 발생합니다. 어떻게해야합니까?

  • 답변 # 1

    이 스택 오버플로 질문은 귀하의 답변입니다.

    yum 에 따르면 mpi.h  헤더 파일은 다음 패키지에서 제공합니다 :

    $ yum whatprovides '*/mpi.h'
    openmpi-devel-1.8.1-1.el6.x86_64
    mpich2-devel-1.2.1-2.3.el6.x86_64
    mvapich2-devel-2.0rc1-1.el6.x86_64
    mvapich-devel-1.2.0-0.3563.rc1.5.el6.x86_64
    mvapich2-psm-devel-2.0rc1-1.el6.x86_64
    mpich-devel-3.1-4.el6.x86_64
    mvapich-psm-devel-1.2.0-0.3563.rc1.5.el6.x86_64  
    
    

    i686 는 물론 대부분의 출력을 제거했습니다  버전. 작업하려는 (변형)에 따라 패키지를 선택하십시오. :)

    이 패키지의 대부분은 /usr/include 에 하위 디렉토리를 만듭니다.  설치 될 때. 예를 들어, mpi.h   openmpi-devel 에서 제공 한 파일   /usr/include/openmpi-x86_64/mpi.h 에서 구할 수 있습니다 , openmpi-x86_64/mpi.h 를 포함해야 함을 의미합니다.  소스 코드에서 또는 /usr/include/openmpi-x86_64 를 추가하십시오  포함 경로의 디렉토리.

    또한 :이 패키지 중 일부 (예 : mvapich-devel ) ) /usr/include 를 사용하지 마십시오  전혀 헤더를 /usr/lib64/{package}/include/ 에 넣습니다. .

  • 이전 logs - 크론 작업에 사용 가능한 확장 로깅이 있습니까?
  • 다음 ubuntu - "mountnfs - 서버에서 액세스 거부"오류를 해결하는 방법