解决 编译错误 对‘sem_init’未定义的引用 collect2: error: ld returned 1 exit status <builtin>: recipe for

执行

$ make
(gcc -Wall -g -O0 -c p*v.c)
(gcc -lpthread  p*v.o c*p.o   -o p*v)

报错如下

p*v.o:在函数‘init’中:
/media/psf/p*v.c:187:对‘sem_init’未定义的引用
c*p.o:在函数‘Pthread_create’中:
/media/psf/c*p.c:461:对‘pthread_create’未定义的引用
c*p.o:在函数‘Pthread_cancel’中:
/media/psf/c*p.c:468:对‘pthread_cancel’未定义的引用
c*p.o:在函数‘Pthread_join’中:
/media/psf/c*p.c:475:对‘pthread_join’未定义的引用
c*p.o:在函数‘Pthread_detach’中:
/media/psf/c*p.c:483:对‘pthread_detach’未定义的引用
c*p.o:在函数‘Pthread_once’中:
/media/psf/c*p.c:497:对‘pthread_once’未定义的引用
c*p.o:在函数‘Sem_init’中:
/media/psf/c*p.c:506:对‘sem_init’未定义的引用
c*p.o:在函数‘P’中:
/media/psf/c*p.c:512:对‘sem_wait’未定义的引用
c*p.o:在函数‘V’中:
/media/psf/c*p.c:518:对‘sem_post’未定义的引用
collect2: error: ld returned 1 exit status
< builtin >: recipe for target ‘p*v’ failed
make: * [p*v] Error 1

解决方法:
gcc 后面加上 -pthread

Reference:
https://bbs.csdn.net/topics/392172670

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值