2014-10-10 3 views
0

저는 Borland C++ 5.02에서 C++ 프로그래밍을하고 있습니다. 이 코드를 실행하기 위해 노력하고있어 :멀티 스레드 스레딩

#include <stdio.h> 
#include <pthread.h> 

#define NUM 5 

main() 
{ 
    pthread_t t1, t2; /* two threads */ 

    void *print_msg(void *); 

    pthread_create(&t1, NULL, print_msg, (void *)"hello"); 
    pthread_create(&t2, NULL, print_msg, (void *)"world\n"); 
    pthread_join(t1, NULL); 
    pthread_join(t2, NULL); 
} 

을하지만 난이 오류 :

정보 : 컴파일 C : \ BC5 \ BIN \의 noname00.cpp

오류 : noname00.cpp (2,2) : noname00.cpp (8,15) : 정의되지 않은 기호 '가 pthread_t'

오류 : noname00.cpp (8 열 수 없습니다 파일 'pthread.h를'

오류를 포함 , 15) : 명세서가 없습니다.

오류 : noname00.cpp (12, 18, 20, 22) : 정의되지 않은 함수 '는 pthread_create'호출에

나는 'PTHREAD.H'에 의해 발생의 주요 오류를 강조했다. 이 파일의 포함 폴더를 확인했습니다. 존재하지 않습니다.. 이 문제를 어떻게 해결할 수 있습니까?

+1

당신은 볼랜드 C++ (5)의 사용을 필요로하는 제품을 유지하고 :

또 다른 대안은 TDM의는 MinGW 툴체인으로의 pthreads 구현을 포함하는 툴체인을 사용하는 것입니다? 17 년 전 출시 된 C++ 98 표준보다 1 년 전 출시 된 제품을 사용하여 어떤 것을 만들지 않는 이유는 무엇입니까? – dasblinkenlight

+0

학교는 실제로 Turbo와 Borland C++ 사용을 중단해야합니다. –

답변

1

볼랜드의 C++ 툴 체인에는 pthreads 라이브러리 나 Windows SDK가 포함되어 있지 않습니다. 기본 Win32 스레드 API를 사용하거나 Windows 용 타사 pthreads 구현을 사용해야합니다.

일부 옵션은 다음과 같습니다

++ 5.x 버전을

0

문제는 당신도 필요 #include <pthread.h>

  • 입니다 복사 모든 pthread와 관련 파일 (.H,이 .c, cpp를, .HPP, lib 디렉토리, .OBJ)
  • 을 컴파일러에 포함하려면
  • 또는 프로젝트/컴파일러 설정
  • 에 포함 경로를 추가하거나 프로젝트에 로컬로 복사하여 0을 변경하십시오#include "pthread.h"

그래서 컴파일러에 pthread.h를 헤더 그래서로부터 데이터 형식이 (가 pthread_t 같은) 컴파일러 측에서 알 수 없습니다

  • 오류의
  • 때문에 나머지 부분을 찾을 수 없습니다 ..
관련 문제