unix网络编程 "apue.h"获取
1.进入网站http://www.apuebook.com/,找到相应版本的Source Code.
2.复制到虚拟机下,解压。
3.将Make.defines.linux文件中的WKDIR换成自己的相应源码解压的目录。WKDIR=/home/xxx/apue.2e ---> WKDIR=/home/user/apue.2e
进入std目录,将linux.mk中的所有nawk该为awk
4.执行make命令。出现错误:
getenv1.c:4: error: ‘ARG_MAX’ undeclared here (not in a function)
5.搜索该错误。
在apue.2e/include/apue.h中添加一行:
#define ARG_MAX 4096
打开apue.2e/threadctl/getenv3.c(包括getenv1.c),添加一行:
#include "apue.h"
6.不报错了。
7.然后把 /home/yarkee/apue.2e/inlcude 目录下的 apue.h 文件和位于 /home/yarkee/apue.2e/lib 目录下的 error.c 文件都复制到 /usr/include 目录下。 /home/yarkee/apue.2e/lib/libapue.a 复制到 /usr/lib
之所以要这样做,是因为gcc在链接头文件时会到 /usr/include 这个目录下寻找需要的头文件,若找不到则报错。
8.在apue.h的#endif前增加#include "error.c",用以支持错误函数。