2013-11-27 6 views
0

내가 OpenMP를 윈도우 7을 사용하여 자신을 가르치려고 노력하고 있어요,하지만 난 :: 블록은 기본 안녕하세요 세계 프로그램 컴파일 코드를 얻기 힘든 시간을 보내고 있어요 :얻기 코드 :: 블록에서 실행 OpenMP를

#include <omp.h> 
#include <stdio.h> 
int main() 
{ 
    #pragma omp parallel 
    printf("Hello from thread %d, nthreads %d\n", omp_get_thread_num(), omp_get_num_threads()); 
} 

I을 몇 가지 진전을 보였지만 제거 할 수없는 오류가 하나 남았습니다.

나는 나의 컴파일러 -fopenmp이 "Compiler-> 컴파일러 설정 -> 기타 옵션" "Compiler-> 링커 설정 -> 기타 링커 옵션"

에서

내가 -gomp이

및 -pthreads "Compiler-> Toolchain exectuable-> Additional Paths"에서 C : \ Program File (x86) \ Codeblocks \ MinGW \ gcc \ mingw32 \ bin에 있습니다

컴파일 할 때 "ld.exe : -lpthread를 찾을 수 없습니다 "

누군가 내가 잘못 설정 한 것을 제안 할 수 있습니까?

감사합니다.

답변

2

링커가 누락 된 라이브러리에 대해 불평합니다. pthreads는 OpenMP 구현이 모든 스레딩 작업을 수행하는 데 사용하는 스레딩 인터페이스를 구현하는 라이브러리입니다.

라이브러리의 이름은 "libpthread.a"(정적 버전)이고 "libpthread.so"(동적 버전)입니다. MinGW 디렉토리 아래의 파일 시스템에서이 두 파일을 찾으십시오. 아마도 "lib"또는 "lib64"라는 디렉토리에있을 것입니다. 둘 중 하나가 누락 된 경우 추가 패키지를 설치해야 할 수 있습니다.

건배, -Michael

+0

의 pthreads는 유닉스 라이브러리 창을 사용할 수 없습니다 것 같다. 내가 그 포장지 또는 뭔가를 찾을 수 있는지 알게 될 것이다. – KBriggs

+0

pthread 라이브러리는 MinGW 배포본의 일부 여야합니다. MinGW를 설치 한 저장소를 살펴보십시오. –

관련 문제