最近在练习多线程编程时,用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>