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

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

二、解压这个文件

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环境高级编程》之旅!!加油!奥里给!!!

 

 

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

 

 

 

 

 

 

 

 

 

 

 

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这个错误是因为在编译过程中找不到apue.h文件导致的。通常情况下,apue.h是一个头文件,用于包含在C程序中使用的一些函数和定义。在Linux下,这个头文件通常是由一个库文件提供的。根据你提供的信息,你可能没有正确设置编译环境,或者没有将apue.h头文件包含在你的编译命令中。 为了解决这个问题,你可以按照以下步骤进行操作: 1. 确保你已经正确安装了apue库文件。可以使用命令`apt-get install libapue-dev`来安装这个库文件。 2. 确保你的编译命令中包含了正确的头文件路径。你可以使用`-I`选项来指定头文件的路径。例如,`gcc -o myprogram myprogram.c -I/path/to/apue/include`。 3. 如果你已经安装了apue库文件,但是还是找不到apue.h文件,那么可能是因为头文件没有正确地安装到系统目录中。你可以手动将apue.h文件复制到/usr/include/目录下。可以使用命令`cp /path/to/apue/include/apue.h /usr/include/`来复制文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Unix环境高级编程——解决第一个问题apue.h: No such file or directory”](https://blog.csdn.net/qq_41899773/article/details/107376991)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [unix高级编程时遇到apue.h 报错问题](https://blog.csdn.net/zhuqinfeng/article/details/50468178)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值