由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个例子输入编译,结果出现如下错误:
undefined reference to 'pthread_create'
undefined reference to 'pthread_join'
问题原因:
pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。
gcc thread.c -o thread -lpthread
undefined reference to 'pthread_create'
undefined reference to 'pthread_join'
问题原因:
pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。
问题解决:
Linux上线程函数位于libpthread 共享库中,因此在编译时要加上-lpthread 选项
gcc thread.c -o thread -lpthread
thread.c为你些的源文件,不要忘了加上头文件#include<pthread.h>
文章摘自:http://blog.youkuaiyun.com/llqkk/article/details/2854558
本文针对Linux新手遇到的线程编程问题进行解答,详细解释了如何正确地使用pthread库来创建和管理线程,包括编译时所需添加的参数及头文件。

2340

被折叠的 条评论
为什么被折叠?



