Linux下undefined reference to ‘pthread_create’问题解决

linux Terry 239浏览 0评论

在试用Linux 线程模块时,试用pthread_create 函数。
编译命令为 gcc main.c -o test时,会出现如下错误

/tmp/ccG3x31W.o: In function `main':
main.c:(.text+0x232c): undefined reference to `pthread_create'
main.c:(.text+0x23ed): undefined reference to `pthread_create'
main.c:(.text+0x2423): undefined reference to `pthread_create'
main.c:(.text+0x2459): undefined reference to `pthread_create'
main.c:(.text+0x248f): undefined reference to `pthread_create'
/tmp/ccG3x31W.o:main.c:(.text+0x24c5): more undefined references to `pthread_create' follow
collect2: error: ld returned 1 exit status

问题的原因:pthread不是linux下的默认的库,也就是在链接的时候,无法找到phread库中哥函数的入口地址,于是链接会失败。

解决:在gcc编译的时候,附加要加 -lpthread参数即可解决。

试用如下命令即可编译通过

gcc main.c -o test -lpthread

 

转载请注明:Terry's blog » Linux下undefined reference to ‘pthread_create’问题解决

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址