我试图编译一些东西并在我的makefile中包含pthread库,但它似乎并没有把它放在命令行上。如果我直接在命令行中键入它进行编译,但如果我尝试使用我的makefile,则会出现未定义引用pthread_join等错误。
这是我的makefile
CC=gcc
all: pthreads
pthreads: pthreads.c
gcc -o pthreads pthreads.c -lpthread
答案 0 :(得分:0)
您错过了目标行上的s
(即您有pthread:
)。所以你的规则不会被运行。默认(内置)make规则是(并且该规则没有-lpthread
位)。
您可以修复拼写错误或将-lpthread
放入LDLIBS
,然后让内置规则为您进行编译和链接。