gcc编译提示pthread_create和pthread_detach未定义的引用的解决方法

因为 pthread_create 和 pthread_detach 函数不是 Linux 的内建函数,所以在对使用了多线程技术的工程进行编译链接生产可执行文件时,需要在链接过程添加 -pthread 参数。

根据 Linux 中man出的帮助信息也可以看到相应的提示“Compile and link with -pthread”。


所以makefile应该这么写:

testPthread: testPthread.o

gcc -o testPthread -pthread testPthread.o #在链接时添加 -pthread 参数

testPthread.o: testPthread.c

gcc -c testPthread.c

clean:

rm -f testPthread testPthread.o


这样在编译工程时就不会提示“未定义的引用”了。

你可能感兴趣的:(多线程,linux,pthread,makefile)