undefined reference to 'pthread_create'

来源:互联网 发布:c 提取网页数据 编辑:程序博客网 时间:2024/05/18 03:12

最近在练习多线程编程时,用GCC编译,出现error:

/tmp/ccSequJR.o: In function `main':
ps.c:(.text+0x1bc): undefined reference to `pthread_create'

在网上查找资料知道原因如下:

    pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。

问题解决:
    在编译中要加 -lpthread参数
    gcc -o ps ps.c -lpthread
    ps.c是编写的源文件,不要忘了加上头文件#include<pthread.h>