转载从:http://blog.csdn.net/songshimvp1/article/details/51440545

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

话不多说,下面就来看看具体的搭建过程:

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

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(again)

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.以上环境搭建成功了,下面是测试。创建1_3.c,输入程序(书上的第一个程序---ls程序),保存退出。

8.gcc 1-3.c -o 1-3 -lapue (libapue.a在这里要写成apue,具体的gcc使用规则可以man一下,呵呵)

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

./1-3  .

最新文章

  1. webservice服务的简单应用
  2. WPF入门教程系列十一——依赖属性(一)
  3. 转:[置顶] 从头到尾彻底理解KMP(2014年8月22日版)
  4. Kafka重复消费和丢失数据研究
  5. django book 阅读笔记
  6. Face The Right Way
  7. 武汉科技大学ACM:1007: 文本编辑器
  8. 使用SuperWebSocket 构建实时 Web 应用
  9. SQL2008中Merge的用法(轉載)
  10. MinGW 介绍
  11. Matplotlib常用示例入门
  12. DxPackNet 3.音频捕捉(录音)
  13. MariaDB/MySQL中的变量
  14. redis对list进行的相关操作
  15. 论Java访问权限控制的重要性
  16. PSO:利用PSO实现对一元函数y = sin(10*pi*x) ./ x进行求解优化,找到最优个体适应度—Jason niu
  17. springboot 工程启动报错之Consider defining a bean of type ‘XXX’ in your configuration.
  18. Arch Linux中通过AUR安装Redis Desktop Manager失败
  19. git回退代码到某次commit
  20. tispark部署步骤

热门文章

  1. Samba搭建Linux和Windows文件共享服务
  2. 对象级别锁 vs 类级别锁(Java)
  3. Java synchronized 关键字详解
  4. 学习笔记——python(继承)
  5. 复杂系统架构设计<1>
  6. centos下mysql中table大小写改为不敏感
  7. python打包生成可执行文件教程
  8. centos7安装opencv3.4.1(同样适用于最新版本4.2.0)
  9. Java之CheckedException
  10. AOV拓扑排序实验总结-1