CentOS 7 下安装libbsd-dev 编译apue3时出错处理

今天用了一天在电脑上装了centos 7 编译UNIX环境高级编程时make出错 错误代码如下

gcc -ansi -I../include -Wall -DLINUX -D_GNU_SOURCE  barrier.c -o barrier  -L../lib -lapue -pthread -lrt -lbsd
/tmp/cc80TnQA.o:在函数‘thr_fn’中:
barrier.c:(.text+0x80):对‘heapsort’未定义的引用
collect2: 错误:ld 返回 1
make[1]: *** [barrier] 错误 1

查了下是libbsd-dev 没有装,ubuntu下面是直接

sudo apt-get  install libbsd-dev

但是CentOS下面 yum的话是找不到的。解决方法就是下载rpm包安装libbsd-dev,具体步骤如下(笔者是64位的):

wget http://elrepo.reloumirrors.net/testing/el6/x86_64/RPMS/libbsd-devel-0.2.0-4.el6.elrepo.x86_64.rpm

wget http://elrepo.reloumirrors.net/testing/el6/x86_64/RPMS/libbsd-devel-0.2.0-4.el6.elrepo.x86_64.rpm


rpm -ivh libbsd-0.2.0-4.el6.elrepo.x86_64.rpm

rpm -ivh libbsd-devel-0.2.0-4.el6.elrepo.x86_64.rpm

如果是32位的,可以去wget相应的rpm包。


在去make apue3时编译成功。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页