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",用以支持错误函数。

posted @ 2014-12-21 13:48  chenbo0302  阅读(138)  评论(0编辑  收藏  举报