一.操作系统:ubuntu 14.04LTS
二.apue版本:第三版
三.环境搭建:
1.在网上下载书中源代码(第三版)
2.解压文件:
tar -zxvf *.tar.gz
3.
cd apue.3e/
4.
make
这时,会看到最后由于can,t find -lbsd而不能make成功,解决办法是添加libbsd.a的静态链接库
sudo apt-get install libbsd-dev
5.再次make:
make
6.在编译成功的基础上,我们进行安装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.以上环境搭建成功了,下面是测试。
8.编译一下introduce里面的ls
cd intro/
gcc ls.c -o ls -l apue (libapue.a在这里要写成apue,具体的gcc使用规则可以man一下)
9.执行:
./ls /home/jiange
可以看到列出了/home/jiange下面的文件名。