[问题]请教:创建线程出错

C、C++和Java语言
回复
pipisi
帖子: 8
注册时间: 2007-07-02 21:28
送出感谢: 0
接收感谢: 0

[问题]请教:创建线程出错

#1

帖子 pipisi » 2007-11-18 19:58

pthread_t ntid;

void printids(const char *s){
pid_t pid;
pthread_t tid;
pid = getpid();
tid = pthread_self();
printf("%s pid %u tid %u (0x%x)\n", s, (unsigned int)pid, (unsigned int)tid, (unsigned int)tid);
return;
}

void * thr_fn(void *arg){
printids("new thread: ");
return ((void *)0);
}

int main(void) {
int err;
err = pthread_create(&ntid, NULL, thr_fn, NULL);
if(err!=0)
printf("cannot create thread: %s\n", strerror(err));
printids("main thread: ");
sleep(1);
return EXIT_SUCCESS;
}

报错:undefined reference to `pthread_create',这个是为什么,怎么解决,多谢

gcc 版本 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
ubuntu 7.10
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26
送出感谢: 0
接收感谢: 1 次

#2

帖子 windwiny » 2007-11-18 20:05

-lpthread
pipisi
帖子: 8
注册时间: 2007-07-02 21:28
送出感谢: 0
接收感谢: 0

#3

帖子 pipisi » 2007-11-18 21:27

ok,问题解决

但是,为什么呢,为什么不能自动链接

多谢指教
回复

回到 “C/C++/Java”