Unix环境高级编程——解决第一个问题“apue.h: No such file or directory”

-------------------------------------------------- 《Unix环境高级编程 》笔记详情(一)----------------------------------------------------------------                                       

第一次接触到《Unix环境高级编程》(第三版)是在大三,看得云里雾里,很快便从入门到放弃。大四上完嵌入式的课程,自己在b站看了一些视频,再看看这本书,才发现这本书的强大。很多视频以及教程都是基于这本书去介绍Linux的(Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。如果想了解Unix跟Linux之间的故事,可以看看我随便搜的网址:http://c.biancheng.net/view/707.html,)

工作中无非就是出现问题、解决问题的过程,那么,今天以一个问题以及如何解决这个问题开始《Uinx环境高级编程》之旅。

问题——在编译书本源码的时候出现如下错误:“apue.h: No such file or directory”

为什么会出现这个问题呢?大家看过之前我的笔记:https://mp.csdn.net/console/editor/html/88817936,就可以发现,只要有API的调用,就需要有对应的头文件,我们用man手册查看函数原型的时候也能明显看到。当API个数越多所需要的头文件就越多,这样还没看代码头文件看起来就很长。所以,《Unix环境高级编程》的作者为了大大减少了试例代码的长度,将很多包含头文件的代码封装到了apue.h文件(详情看书本附录B)

解决问题:

一、下载源码

从unix高级编程书籍官网下载书籍的上的所有源码:http://www.apuebook.com。当然不想用浏览器的也可以使用指令:

wget http://www.apuebook.com/src.tar.gz

Unix环境高级编程——解决第一个问题“apue.h: No such file or directory”_第1张图片

选择对应的版本并下载源码

二、解压这个文件

tar -zxvf src.tar.gz

解压后文件会放在apue.2e目录下,这个目录里包含了书本上的源码,也包含了apue.h和error.c文件。

三、复制apue.h到/usr/include/下

cp ./apue.2e/include/apue.h /usr/include/

此时/usr/include/下没有apue.h文件,直接复制即可

四、复制error.c到/usr/include/下

cp ./apue.2e/lib/error.c /usr/include/

 注意看清楚这里error.c,步骤三是errer.h

五、/usr/include/apue.h文件 配置

使用vi编辑器打开文件:

vi /usr/include/apue.h

在文件最后#endif前加上包含error.c的代码:

#include "error.c";

Unix环境高级编程——解决第一个问题“apue.h: No such file or directory”_第2张图片

搞定!

接下去可以畅快的编译书本的源码,开启你的《Unix环境高级编程》之旅!!加油!奥里给!!!

 

 

---------------------------------------------如果觉得本文还可以的话,点赞收藏,交个朋友------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Unix环境高级编程,Linux,C)