1.下载源码压缩包 src.3e.tar.gz,并解压链接http://apuebook.com/src.3e.tar.gz(网站连接http://apuebook.com/code3e.html)
tar -zxvf src.3e.tar.gz
解压后,有apue.3e这个目录。
2.安装 libbsd-devel
ubuntu: sudo apt-get install libbsd*,其实只需安装libbsd-devel即可
centos:因为CentOS下面 yum的话是找不到libbsd-dev的
所以用rpm包方式安装libbsd-dev
具体步骤如下(64位的,32位的自己找下):
下载libbsd:wget http://elrepo.reloumirrors.net/testing/el6/x86_64/RPMS/libbsd-0.2.0-4.el6.elrepo.x86_64.rpm
下载libbsd-devel:wget http://elrepo.reloumirrors.net/testing/el6/x86_64/RPMS/libbsd-devel-0.2.0-4.el6.elrepo.x86_64.rpm
安装libbsd:rpm -ivh libbsd-0.2.0-4.el6.elrepo.x86_64.rpm
安装libbsd-devel:rpm -ivh libbsd-devel-0.2.0-4.el6.elrepo.x86_64.rpm
3.进入apue.3e 目录 输入 make 回车
4.复制文件到对应目录:
cp apue.3e/include/apue.h /usr/include
cp apue.3e/lib/error.c /usr/include
完成!!
注:若未完成第二步,则会报错如下:
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
来源:CSDN
作者:空无cc
链接:https://blog.csdn.net/qq_36266692/article/details/103940977