在Ubuntu10.04 下编译《UNIX环境高级编程》(第二版)源码

来源:互联网 发布:中国软件产业协会 编辑:程序博客网 时间:2024/05/22 00:40

 

1、APUE2源代码下载:http://www.apuebook.com/src.tar.gz
2、 进入apue.2e文件夹下的Make.defines.linux, 修改WKDIR=/home/var/apue.2e为你的apue.2e目录,比如我的apue源码解压在/usr/local,那我就改为: WKDIR=/ usr/local/apue .2e
3、 然后进入apue.2e/std 目录,编辑linux.mk,修改里面所有的nawk为awk
4、apue.2e文件夹下的Make.defines.linux这时还不可编译,还要修改
在apue.2e/include/apue.h中添加一行:
#define ARG_MAX 4096
打开 apue.2e/threadctl/getenv3.c,添加一行:
#include "apue.h"
打开apue.2e/threadctl/getenv1.c,添加一行:
#include "apue.h"
5、然后 就可以 make 了。

自己编译或者写程序如果用到apue.h与 libapue.a 有三种方法可选:
1、把 apue.2e/lib/libapue.a 移动到 /lib 或者 /usr/lib目录下,
把apue.2e/include/apue.h 移动到 /include 或者 /usr/include目录下

编译时只要 gcc -o name(hello)   soucename(hello.c)  -lapue

2、把 apue.2e/lib/libapue.a 与 apue.2e/include/apue.h 移动到你的源文件所在目录下

编译时只要 gcc -o name(hello)   soucename(hello.c)  -lapue

3、不做任何移动 ,加上库文件所在目录

编译时只要 gcc -o name(hello)   soucename(hello.c)  -lapue -L /home/var/apue.2e/lib -I /home/var/apue.2e/include
这种做法比较麻烦,不推荐。

推荐第一种做法,移动一次,以后都可以用了,记得编译的时候别忘记 -lapue。


原创粉丝点击