undefined reference to `pthread_create'

在学习《linux程序设计》时,在编译第一个多线程程序时,遇到错误:

/tmp/ccIgFrNf.o: In function `main':
thread1.c:(.text+0x29): undefined reference to `pthread_create'
thread1.c:(.text+0x6c): undefined reference to `pthread_join'
collect2: error: ld returned 1 exit status


错误提示是链接错误,这是由于libpthread.a不使系统默认的库,所以在编译时需要链接libpthread.a。

即在使用pthread_xxxx()系列函数时,需要链接该库。


具体解决方式:

gcc   -o thread1.c  thread1  -lpthread

注意:最好把-lpthread放在编译的最后,具体原因参考《C编程专家》

你可能感兴趣的:(linux程序设计)