POSIX 쓰레드 연습중에 컴파일 에러 질문
[ttongfly@RealSkulls cstudy]$ cat > thread1.c
/*
Filename : thread1.c
Subject : 쓰레스 생성
Writer : ttongfly@ttongfly.net 2003. 12. 26
Homepage : http://ttongfly.net
*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <pthread.h>
void *thread_function(void *arg);
int main(int argc, char **argv)
{
int state;
pthread_t t_id;
void *t_return;
// pthread_create(쓰레드ID, 쓰레드 특성값, 쓰레드 함수, 함수에 넘겨줄 인자값);
state = pthread_create(&t_id, NULL, thread_function, NULL);
if (state != 0) {
puts("thread create error!");
exit(1);
}
printf("Created thread ID : %d \n", t_id);
sleep(3);
puts("main function end");
return(0);
}
void *thread_function(void *arg)
{
int i;
for (i=0; i<3; i++) {
sleep(2);
puts("Thread is running");
}
}
[ttongfly@RealSkulls cstudy]$ gcc -o thread1 thread1.c
/tmp/ccUMp1bL.o(.text+0x1e): In function `main':
: undefined reference to `pthread_create'
collect2: ld returned 1 exit status
[ttongfly@RealSkulls cstudy]$
이와같은 에러가 발생합니다. 무엇때문일까요?
-lpthread 가 빠졌군요.posix thread는 명
-lpthread
가 빠졌군요.
posix thread는 명시적으로 넣어 줘야합니다.
---
http://coolengineer.com
댓글 달기