UNIX环境高级编程学习环境搭建---apue.h

本菜刚刚学习UNIX下高级编程,无奈搭建本书编程环境时遇到不少问题。幸好网上有各种大神的解决办法让我最终解决了问题。在这里感谢为LINUX开源操作系统奋斗的大神。

不过话说回来,网上大都是针对UNIX高级编程第二版的头文件搭建,现在对于第三版来说,有些过时,因为很对针对linux的make文件已经改变了很多。

话不多说,下面就来看看具体的搭建过程:(本人用的操作系统是ubuntu 14.04LTS)

1.在网上下载书中源代码,点击打开链接

2.解压文件:tar -zxvf *.tar.gz

3.cd apue.3e/

4.make

在这个过程中,你会看到最后由于can,t find -lbsd而不能make成功,解决办法是添加libbsd.a的静态链接库

[plain] view plain copy
print ?
  1. sudo apt-get install libbsd-dev  
sudo apt-get install libbsd-dev

5.make(again)

6.在编译成功的基础上,我们进行安装apue.h文件及其对应的静态链接库libapue.a

[plain] view plain copy
print ?
  1. sudo cp ./include/apue.h /usr/include/  
  2. sudo cp ./lib/libapue.a /usr/local/lib/  
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.gcc 1-3.c -o 1-3 -lapue  (libapue.a在这里要写成apue,具体的gcc使用规则可以man一下,呵呵)

9.看见1-3执行程序了吧,赶紧执行一下

[plain] view plain copy
print ?
  1. ./1-3 /lib  
./1-3 /lib

UNIX环境高级编程学习环境搭建---apue.h_第1张图片

10.最后说一下本例1-3就是书上的第一个程序—ls程序。

转载自:https://blog.csdn.net/freestyle4568world/article/details/39269129

你可能感兴趣的:(linux)