티스토리 뷰

C & C++

[C++] Windows에서 pthread 사용하기

강씨아저씨 2016. 2. 1. 21:35

Windows 환경에서 쓰레드를 이용할 일이 생겼다. 

무의식적으로 익숙한 #include <pthread.h>를 사용했는데 pthread.h가 없다고 나온다a

그래도 난 pthread를 사용하고 싶었고!! 구글링을 해보니 방법이 있었다!!

다행이 친절하게 설명해주신분의 블로그가 있어서 쉽게 해결했다.

참고한 사이트는 여기다 http://plming.tistory.com/62

링크에 나온 설명방법을 그대로 따라해봤다. 

우선  http://www.sourceware.org/pthreads-win32/ 로가서 lib,include,dll을 다운받는다. 


1. 나는 가장 최신버전인 prebuilt-dll-2-9-1-release 를 받았다.



2. 그다음 빈프로젝트를 생성후 다운받은 파일을 옮겨 놓는다. 

 

 

3. 프로젝트 속성에서 C/C++ 추가 포함 디렉터리에 include를 다음과같이 추가한다.


 

4. 프로젝트 속성에서 링커 추가 라이브러리 디렉터리에 lib를 추가한다.(나는 x86을 추가했다.)

 

 

5. lib에 있는 라이브러리 파일명을 프로젝트 속성에서 링커 추가 종속성에 추가한다.(나는 x86을 추가했다.)


 

6. dll에 있는 dll파일들을 System32에 넣는다. ( 나는 System32에 넣어도 안돼서 SysWOW64에 넣었다. 아마 32bit, 64bit 운영체제 차이때문인거 같다.)



 

7. 쓰레드를 2개 돌려서 하나는 3만 출력 하나는 4만출력하게 한 결과화면이다. 끝~~





추가로 만약 dll 파일이 제대로된 위치(System32 or SysWOW64)에 없다면 다음과 같은 화면이 나올것이다.



그런데 만약 본인이 " System32 혹은 SysWOW64에 dll 파일을 넣는게 싫다 " 싶으면 다음과 같은 위치에 넣어도 동작은한다.





누군가에게는 작은도움이 되었기를 바라면서 오늘의 포스팅 끝~

댓글