《UNIX环境高级编程》apue源代码Ubuntu下的编译

来源:互联网 发布:中国医疗纠纷数据统计 编辑:程序博客网 时间:2024/04/29 05:35

在编译书中例程时,常会报错,主要问题是以下两句代码

#include"apue.h"

这两个头文件并非Ubuntu系统自带的,是《UNIX环境高级编程》作者自己编写的用于定义及报错的头文件


解决方法:

1--下载APUE的代码(http://www.apuebook.com/src.tar.gz)并解压,笔者的目标地址为/home/jimmy/p2p/apue.2e


2--打开解压出来的README文件,按照“To build the source, edit the Make.defines.* file for your system and set
WKDIR to the pathname of the tree containing the source code.  Then just
run "make".说明修改Make.defines.linux 中的WKDIR,改为WKDIR=/home/jimmy/p2p/apue.2e


3--make 。

jimmy@MyPet:~$ cd /home/jimmy/p2p/apue.2ejimmy@MyPet:~/p2p/apue.2e$ make^C

4--把/home/jimmy/p2p/apue.2e/include文件夹下的apue.h放到要编译的源代码的相同目录下,但是笔者建议直接复制到/usr/include下,一劳永逸!


5--把lib文件夹中生成的alibapue.a放到要编译的源代码相同目录下,否则在gcc 或者cc 代码时,会报如下错误

undefined reference to `err_quit'

undefined reference to `err_sys' 


 

6-- 使用gcc -o hello hello.c libapue.a来编译源代码,生成hello,执行./hello 即可。