Linux下配置APUE的编译环境

APUE即Unix环境高级编程,本书中几乎所有的程序都包含一个apue.h的头文件,那如何配置这个apue.h呢?

1、我们可以在http://pan.baidu.com/s/1dDxmtbF中下载,然后放到你的Linux桌面上(没桌面的,随意放吧)

2、解压下载的文件:

tar -zxv -f src.3e.tar.gz

3、进入解压后的目录:

cd apue.3e/

4、编译:

make

我们会发现出现如下错误:

can,t find -lbsd

5、下载并添加libbsd.a的静态链接库:

sudo apt-get install libbsd-dev

6、再次编译:

make

此时应该成功了,我们把apue.h 与 libapue.a 放入到对应的目录中,用如下命令完成:

sudo cp ./include/apue.h /usr/include/
sudo cp ./lib/libapue.a /usr/local/lib/

为什么要将libapue.a移到/usr/local/lib中呢?

原因是libapue.a是apue.h头文件中包含的所有函数及宏定义的具体实现,是一个静态链接库。

查看ld.conf.d/libc.conf你会发现gcc在搜索链接库的时候默认会去搜索/usr/local/lib/中的文件,所以我们将其放在这里,一劳永逸。。。。(不过自己要知道哦)

7、测试环境:

gcc 书上的程序.c -o 输出名字 -lapue (libapue.a在这里要写成apue,具体的gcc使用规则可以man一下,呵呵)

改编自:http://blog.sina.com.cn/s/blog_94977c890102vdmu.html

原文地址:https://www.cnblogs.com/tntboom/p/4442474.html