1.下载源码
APUE源码下载地址:http://www.apuebook.com/code3e.html
下载得到src.3e.tar.gz压缩包,解压后的得到apue.3e文件。利用远程连接工具Mobaxterm上传到Centos服务器上,如图所示。
2.进入apue.3e的lib目录下
cd apue.3e/
cd lib/
make # 执行make后生成静态库libapue.a
3.接下来将静态库libapue.a复制到/usr/lib中
查看/usr/lib是否有libapue.a:
cd /usr/lib
ll | grep libapue.a
4.将头文件apue.h复制到/usr/include中
sudo cp libapue.a /usr/include
# 查看文件
cd /usr/lib
ll | grep apue.h
5.在apue.3a目录下查找error.c文件,复制error.c文件,并重命名为myerror.h。将myerror.h文件复制到/usr/include目录下
cd /usr/include
ll | grep myerror.h
# -rw-r--r--. 1 root root 2411 5月 27 22:06 myerror.h
注:如果不复制error.c文件,将会出现err_sys等函数未定义情况。出现这个问题解决方案也可参考:http://blog.chinaunix.net/uid-29179071-id-4117644.html
6.至此,环境准备好了,编写test.c文件,用make命令编译,如图所示。
7.运行书中代码
以第三章hole.c文件,创建一个具有空洞文件为例。
cd apue.3e/fileio
cp hole.c ../../myapue/
cd ../../myapue/
直接make编译文件,出现如下错误:
在hole.c引入头文件myerror.h,保存后再编译,如图所示: