作者:一大书虫 | 来源:互联网 | 2023-05-17 07:56
今天用了一天在电脑上装了centos7编译UNIX环境高级编程时make出错错误代码如下gcc-ansi-I..include-Wall-DLINUX-D_GNU_SOUR
今天用了一天在电脑上装了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时编译成功。