在学unix高级编程环境。之前在虚拟机上已经编译过一次了。这次就记录下编译中的问题吧。

源项目APUE。学习UNIX高级编程中一些接口并非系统自带。而是通过apue来使用的。

安装

安装其实非常简单,直接

git clone https://github.com/brandongooch/apue.3e.git
cd apue.3e
make
cp ./include/apue.h /usr/include/
cp ./lib/libapue.a /usr/local/lib/

不过基本99%都是编译不过去的。因为apue使用的一些接口比较老了。导致编译不过。

我自己做了下修改,上传到自己的仓库了。使用方法和之前一样。

下载无编译报错的apue

或着

git clone https://github.com/hangxin001/my_study_tools.git
cd my_study_tools/apue.3e
make
cp ./include/apue.h /usr/include/
cp ./lib/libapue.a /usr/local/lib/

编译错误

这里我遇到过的一些问题,还有1个no member named的错误,因为时间原因实在想不起来怎么解决了,感兴趣的可以diff下两份源码。

undefined reference to `minor’

devrdev.c: 在函数‘main’中:
devrdev.c:19:25: 警告:隐式声明函数‘major’ [-Wimplicit-function-declaration]19 |   printf("dev = %d/%d", major(buf.st_dev),  minor(buf.st_dev));|                         ^~~~~
devrdev.c:19:45: 警告:隐式声明函数‘minor’ [-Wimplicit-function-declaration]19 |   printf("dev = %d/%d", major(buf.st_dev),  minor(buf.st_dev));|                                             ^~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/cc3nw7vB.o: in function `main':
devrdev.c:(.text+0xc1): undefined reference to `minor'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: devrdev.c:(.text+0xd7): undefined reference to `major'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: devrdev.c:(.text+0x124): undefined reference to `minor'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: devrdev.c:(.text+0x13a): undefined reference to `major'
collect2: 错误:ld 返回 1
make[1]: *** [Makefile:18:devrdev] 错误 1

解决办法是加入头文件#include <sys/sysmacros.h>

linux安装apue库 (UNIX环境高级编程)相关推荐

  1. 标准IO库--unix环境高级编程读书笔记

    标准IO库是C语言提供的一个库,不光存在于linux中,在windows中也是有的.标准IO库和文件IO的不同是,标准IO库是对文件IO(即系统调用)的封装,并且在用户层添加了一些缓冲区. 文件IO的 ...

  2. Unix环境高级编程中的apue.h配置

    本文解释Unix环境高级编程的环境搭建中,apue.h如何使用安装及问题解决. 使用的是<Unix环境高级编程>第三版: 系统为CentOS 7.4,64位(Linux系统都可参考): 文 ...

  3. (三) 一起学 Unix 环境高级编程 (APUE) 之 文件和目录

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  4. UNIX环境高级编程(第三版)关于apue.h的用法

    UNIX环境高级编程(第三版)中的例子用到apue.h这个头文件,但是书里面写的地址已经不能访问. 经过一番查找之后,找到如下解决方案: 1.到www.apuebook.com上下载第2版的源码,也可 ...

  5. Linux - Unix环境高级编程(第三版) 代码编译

    Unix环境高级编程(第三版) 代码编译 本文地址:http://blog.csdn.net/caroline_wendy 时间:2014.10.2 1. 下载代码:http://www.apuebo ...

  6. apue.h头文件(UNIX环境高级编程)

    相信非常多初学<UNIX环境高级编程>的朋友都会遇到一个问题,执行里面的实例(download: http://www.apuebook.com/ )时就出现故障,提示 "错误: ...

  7. Unix——学习《Unix环境高级编程》找不到“apue.h”方法

    在运行<UNIX环境高级编程>中的程序时会遇到apue.h包头找不到的情况,这是作者为了方便程序书写封闭了一些功能函数和错误处理等.在http://www.apuebook.com中可以下 ...

  8. UNIX环境高级编程(第三版 源码及编译好的静态库文件)

    UNIX环境高级编程(第三版) 源码 及 库文件 链接: https://pan.baidu.com/s/1tPY17lWNDEbzkOwZaRUUNg 提取码: 1024 复制这段内容后打开百度网盘 ...

  9. 《UNIX 环境高级编程》学习笔记—— 标准I/O库

    UNIX环境高级编程--标准I/O库 流和 FILE 对象 标准输入.标准输出和标准错误 缓冲 打开流 读和写流 每次一行 I/O 二进制 I/O 定位流 格式化 I/O 临时文件 内存流 流和 FI ...

  10. Unix环境高级编程 笔记

    Unix环境高级编程(第二版)学习笔记 这是一次较长时间的整理,然而跳跃了一些章节和很多知识点,仍然是很不完善很不全面的. 前言 操作系统某些问题 严格意义上,可将操作系统定义为一种软件,它控制计算机 ...

最新文章

  1. 《数学之美》第26章 维特比和他的维特比算法
  2. NSA释出逆向工程工具GHIDRA针对恶意软件逆向分析
  3. 问题集锦(30-35)
  4. ubuntu 21.04 版本上 安装 sqlcmd
  5. 赠书 | 如何部署一个Knative Service
  6. CDH5.16.2下载安装
  7. Windows环境下基于python3 + selenium构建网络爬虫
  8. 凸优化问题中的Bregman迭代算法
  9. linux 串口 抓包工具下载,Device Monitoring Studio串口抓包工具使用教程
  10. VS下使用多字符集编码和Unicode字符集编码的总结
  11. 微信小程序跳转到另一个小程序(往返)
  12. 毕业设计 : 基于Spark的海量新闻文本聚类 - Spark 新闻分类 文本分类新闻聚类
  13. eui显示玩家服务器,EUI - 魔兽世界最贴心的插件
  14. ffmpeg的那点小事儿--编译ffmpeg同时支持libx264(视频编码)和libfdk(音频编码)
  15. My Sixth-Third Page - 爬楼梯 - By Nicolas
  16. Arduino 调用Stepper库驱动28BYJ-48步进电机,电机振动不转、无法反方向转的解决办法
  17. mysql 家谱树查询_无限级分类之查找子孙树和家谱树
  18. C# XML注释说明
  19. 可擦写光盘不能擦除和刻写_哪种更适合?三种可擦写刻录盘方案PK
  20. GDOI 2018 Day1 小学生图论题

热门文章

  1. 小程序开发工具中黑马优购小程序tabs组件_别不信,二十一天巧妙精通微信小程序的开发,附赠教程...
  2. 快手财报,虚惊一场?
  3. SpringSecurity权限管理框架系列(七)-SpringSecurity自定义配置类中自定义Filter的使用详解
  4. Caffe源码(十):eltwise_layer 分析
  5. jQuery Pagination分页插件
  6. latex怎么给图片命名_[Latex] Beamer 入门
  7. 项目管理9大知识思维导图-精减版+教你如何绘制专属思维导图
  8. [转]Linux学习路线
  9. tensorflow入门教程(四十四)人体姿态检测(二)
  10. 平安租赁面试java_2019平安租赁面试经验(资产运作,企业融资部等)