1.进入网站http://www.apuebook.com/,找到相应版本的Source Code.
2.复制到虚拟机下,解压。
3.将Make.defines.linux文件中的WKDIR换成自己的相应源码解压的目录。
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 目录下。
之所以要这样做,是因为gcc在链接头文件时会到 /usr/include 这个目录下寻找需要的头文件,若找不到则报错。
8.在apue.h的#endif前增加#include "error.c",用以支持错误函数。
时间: 2024-10-06 01:19:00