[q] linux thread programming 에서...
글쓴이: khk / 작성시간: 화, 2003/04/01 - 7:16오후
아주 간단한 다음과 같은 thread 예제를 돌리려고 하는데
컴파일이 안됩니다...
#include <stdio.h> #include <pthread.h> void print_message_function(void *); main() { pthread_t thread1, thread2; char *message1 = "Hello"; char *message2 = "World"; pthread_attr_t attr1, attr2; pthread_create(&thread1, &attr1, (void *)&print_message_function, (void *)message1); pthread_create(&thread2, &attr2, (void *)&print_message_function, (void *)message2); exit(0); } void print_message_function(void *ptr) { char *message; message = (char *)ptr; printf("%s ", message); }
$ gcc -o thread1 thread1.c
/tmp/ccZuHiBU.o: In function `main':
/tmp/ccZuHiBU.o(.text+0x25): undefined reference to `pthread_create'
/tmp/ccZuHiBU.o(.text+0x3d): undefined reference to `pthread_create'
collect2: ld returned 1 exit status
$
위와 같이 pthread_create 함수 자체를 못찾는 에러가 발생합니다.
#include <pthread.h>도 해줬는데 이유가 무엇인지 모르겠네요...
참고로 Redhat 7.3 시스템이며
Kernel 2.4.18
gcc-2.96
glibc-2.2.5-34
입니다.
Forums:
음야...
라이브러리 링크를 안하신거 같군요.
컴파일 할 때 뒤에 -lpthread 라고 해주셔요.
예전에 해봐서 가물가물 하네요. ㅡ,.ㅡ;
H/W가 컴퓨터의 심장이라면 S/W는 컴퓨터의 영혼이다!
이크... 감사합니다.
-lpthread 하니까 되네여.
감사합니다~
댓글 달기