装系统时候设置的用户名密码问题~
时间:2011-12-20
来源:互联网
wei@wei-machine:~/5/code$ gcc -o thread thread.c
/tmp/ccwLelgL.o: In function `main':
thread.c:(.text+0xa7): undefined reference to `pthread_create'
thread.c:(.text+0xef): undefined reference to `pthread_create'
thread.c:(.text+0x126): undefined reference to `pthread_join'
thread.c:(.text+0x13a): undefined reference to `pthread_join'
collect2: ld returned 1 exit status
用GCC编译后出现上述错误,不知道是怎么回事,是因为Pthread.h头文件吗?如何解决?谢谢!
源代码如下:
thread.c:
#include <stdio.h>
#include <pthread.h>
void thread1(void)
{
int i=0;
for(i=0;i<6;i++)
{
printf("This is a pthread1.\n");
if(i==2)
pthread_exit(0);
sleep(1);
}
}
void thread2(void)
{
int i;
for(i=0;i<3;i++)
printf("This is a pthread2.\n");
pthread_exit(0);
}
int main(void)
{
pthread_t id1,id2;
int i,ret;
ret=pthread_create(&id1,NULL,(void *) thread1,NULL);
if(ret!=0)
{
printf ("Create pthread error!\n");
exit (1);
}
ret=pthread_create(&id2,NULL,(void *) thread2,NULL);
if(ret!=0)
{
printf ("Create pthread error!\n");
exit (1);
}
pthread_join(id1,NULL);
pthread_join(id2,NULL);
exit (0);
}
/tmp/ccwLelgL.o: In function `main':
thread.c:(.text+0xa7): undefined reference to `pthread_create'
thread.c:(.text+0xef): undefined reference to `pthread_create'
thread.c:(.text+0x126): undefined reference to `pthread_join'
thread.c:(.text+0x13a): undefined reference to `pthread_join'
collect2: ld returned 1 exit status
用GCC编译后出现上述错误,不知道是怎么回事,是因为Pthread.h头文件吗?如何解决?谢谢!
源代码如下:
thread.c:
#include <stdio.h>
#include <pthread.h>
void thread1(void)
{
int i=0;
for(i=0;i<6;i++)
{
printf("This is a pthread1.\n");
if(i==2)
pthread_exit(0);
sleep(1);
}
}
void thread2(void)
{
int i;
for(i=0;i<3;i++)
printf("This is a pthread2.\n");
pthread_exit(0);
}
int main(void)
{
pthread_t id1,id2;
int i,ret;
ret=pthread_create(&id1,NULL,(void *) thread1,NULL);
if(ret!=0)
{
printf ("Create pthread error!\n");
exit (1);
}
ret=pthread_create(&id2,NULL,(void *) thread2,NULL);
if(ret!=0)
{
printf ("Create pthread error!\n");
exit (1);
}
pthread_join(id1,NULL);
pthread_join(id2,NULL);
exit (0);
}
作者: szweifj 发布时间: 2011-12-20
刚查到原因了 呵呵
由于pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,在编译中要加 -lpthread参数。
由于pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,在编译中要加 -lpthread参数。
作者: szweifj 发布时间: 2011-12-20
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28