2017-03-16 7 views
0

MPI를 사용하여 간단한 프로그램을 만들도록 지정했습니다. 내가 mpi.h 헤더를 사용하고 컴파일 데브 C++에서의 Hello World 프로그램을 시도 후, makefile.win 또한 프로젝트 옵션에서 디렉토리를(오류) Dev C++의 MPI에 대한 정의되지 않은 참조

D:\Assignment\Project\MPI\tesmpi.o tesmpi.cpp:(.text+0x21): undefined reference to `MPI_Init' 
D:\Assignment\Project\MPI\tesmpi.o tesmpi.cpp (.text$_ZN3MPI9IntracommC2Ev[__ZN3MPI9IntracommC2Ev]+0xf): undefined reference to `MPI::Comm::Comm()' 
... and other 190 errors like that 
D:\Assignment\Project\MPI\[Error] id returned 1 exit status 
D:\Assignment\Project\MPI\recipe for target 'Project' failed 

이미 입력 라이브러리를오고 포함되어 나타나는 오류를 다음입니다 msmpi.lib와 링커. 어, 필자는 Microsoft MPI와 Microsoft SDK를 MPI로 사용합니다. 내가 할 수있는 일이 있니?

이 내 프로그램입니다

#include <mpi.h> 
#include <stdio.h> 

int main(int argc, char** argv) { 
    // Initialize the MPI environment 
    MPI_Init(NULL, NULL); 

    // Get the number of processes 
    int world_size; 
    MPI_Comm_size(MPI_COMM_WORLD, &world_size); 

    // Get the rank of the process 
    int world_rank; 
    MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); 

    // Get the name of the processor 
    char processor_name[MPI_MAX_PROCESSOR_NAME]; 
    int name_len; 
    MPI_Get_processor_name(processor_name, &name_len); 

    // Print off a hello world message 
    printf("Hello world from processor %s, rank %d" " out of %d processors\n", 
     processor_name, world_rank, world_size); 

    // Finalize the MPI environment. 
    MPI_Finalize(); 

}

당신이 당신의 프로그램을 컴파일 않았다 어떻게

답변

0

? 이 작업을 수행하려면 보통 C++ 컴파일러가 아닌 mpic++ 명령을 사용해야합니다.

+0

나는 dev C++ 컴파일러로 평소와 같이 프로그램을 컴파일하고, 어떻게 dev C++ 컴파일러에'mpiC++'를 추가 하는가? 또는 cmd로 끝낼 수 있습니까? – newcomers

0

당신의 현재 문제는 당신이 Dev C++ 링커에게 당신이 MPI 라이브러리를 사용하기를 원하지 않는다는 것을 의미합니다.

사용하려는 라이브러리를 지정하는 configs의 위치가 있어야합니다.

+0

그럼, 어디입니까? – newcomers