unix环境高级编程 关于apue.h的问题

唉,本来兴致勃勃的买来了被称为圣书的《unix环境高级编程》,结果作者大神还自己写个apue.h,唉,在网上找了许多资料,终于解决了

1.首先,到 http://www.apuebook.com/src.tar.gz下载源码,解压缩,最好解压缩到 家目录下,解压后路径位  /home/XXX/apue.2e/.

2.目录apue.2e下的Make.defines.linux ,修改WKDIR=/home/sar/apue.2e为你的apue.2e目录 ,比如WKDIR=/home/XXX/apue.2e

3.进入目录apue.2e/std/  , 替换所有的nawk为awk

4.返回apue.2e目录,编译,输入make

5.如果报错stropts.h找不到,在http://ftp.gnu.org/gnu/glibc/下载glibc-2.11,并解压缩,然后将一些头文件移动到相应目录
  cp ./glibc-2.11/streams/stropts.h /usr/include
  cp ./glibc-2.11/bits/stropts.h /usr/include/bits
  cp ./glibc-2.11/sysdeps/x86_64/bits/xtitypes.h /usr/include/bits

6.如果提示ARG_MAX未定义,则在apue.2e/include/apue.h中添加  #define ARG_MAX 4096   ,

  在apue.2e/threadctl/getenv1.c 和apue.2e/threadctl/getenv3.c中添加#include "apue.h"

6 修改脚本文件systype.sh 的权限,使其可执行,chmod u+x systype.sh

7.返回apue.2e 目录,执行make 命令。
8.把头文件apue.h复制到/usr/include/中
  sudo cp ~/apue.2e/include/apue.h /usr/include
  sudo  cp ~/apue.2e/lib/libapue.a /usr/lib
9 编译程序

gcc 源程序  -lapue 

你可能感兴趣的:(unix)