使用#include <pthread.h>

     在Linux中使用线程相关的东西就要使用到这个头文件,但这还不算。如果仅仅使用这个头文件,会出现错误:

undefined reference to `pthread_create'
collect2: ld returned 1 exit status
make: *** [threadid] Error 1

     之所以出现这样的错误,是因为我们没有链接相应的函数库。所以在编译的时候要加上 –lpthread 选项。

     Makefile文件如下:

CC = gcc
CFLAGS = -I/home/cat/apue/apue.2e/include -Wall -g

threadid: threadid.o
    $(CC) $(CFLAGS) -o $@ $^ -lpthread
原文地址:https://www.cnblogs.com/wangshuo/p/2058194.html