APUE源码的下载:http://www.apuebook.com/src.tar.gz
1.编译源码
假设源码解压到/home/crazyboy/tmp/apue.2e.src目录下.
首先修改与自己系统对应的Make.defines.*文件,我的是linux系统,就修改Make.defines.linux文件,将里面的WKDIR修改成源码所在的目录,即这一行改成"WKDIR=/home/crazyboy/tmp/apue.2e.src".然后make或者make linux.
如果make的时候报"ARG_MAX"未定义错误,那么修改include目录下的apue.h文件,添加一行:#define ARG_MAX 4096
然后修改threadctl/getenv1.c和threadctl/getenv3.c这两个文件,添加#include "apue.h".然后再make
2.使用apue.h和libapue.a
源码的README中只说明如何编译,如果要编译自己敲的代码的话,需要将include/apue.h拷贝到/usr/include目录下,再将lib/libapue.a拷贝到/usr/lib/或者/usr/lib64/目录下.然后就可以在自己敲的代码中使用#include <apue.h>,编译的时候需要加上-lapue选项.比如要编译hello.c:
gcc hello.c -lapue -o hello