linux安装apue库 (UNIX环境高级编程)
在学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环境高级编程)相关推荐
- 标准IO库--unix环境高级编程读书笔记
标准IO库是C语言提供的一个库,不光存在于linux中,在windows中也是有的.标准IO库和文件IO的不同是,标准IO库是对文件IO(即系统调用)的封装,并且在用户层添加了一些缓冲区. 文件IO的 ...
- Unix环境高级编程中的apue.h配置
本文解释Unix环境高级编程的环境搭建中,apue.h如何使用安装及问题解决. 使用的是<Unix环境高级编程>第三版: 系统为CentOS 7.4,64位(Linux系统都可参考): 文 ...
- (三) 一起学 Unix 环境高级编程 (APUE) 之 文件和目录
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- UNIX环境高级编程(第三版)关于apue.h的用法
UNIX环境高级编程(第三版)中的例子用到apue.h这个头文件,但是书里面写的地址已经不能访问. 经过一番查找之后,找到如下解决方案: 1.到www.apuebook.com上下载第2版的源码,也可 ...
- Linux - Unix环境高级编程(第三版) 代码编译
Unix环境高级编程(第三版) 代码编译 本文地址:http://blog.csdn.net/caroline_wendy 时间:2014.10.2 1. 下载代码:http://www.apuebo ...
- apue.h头文件(UNIX环境高级编程)
相信非常多初学<UNIX环境高级编程>的朋友都会遇到一个问题,执行里面的实例(download: http://www.apuebook.com/ )时就出现故障,提示 "错误: ...
- Unix——学习《Unix环境高级编程》找不到“apue.h”方法
在运行<UNIX环境高级编程>中的程序时会遇到apue.h包头找不到的情况,这是作者为了方便程序书写封闭了一些功能函数和错误处理等.在http://www.apuebook.com中可以下 ...
- UNIX环境高级编程(第三版 源码及编译好的静态库文件)
UNIX环境高级编程(第三版) 源码 及 库文件 链接: https://pan.baidu.com/s/1tPY17lWNDEbzkOwZaRUUNg 提取码: 1024 复制这段内容后打开百度网盘 ...
- 《UNIX 环境高级编程》学习笔记—— 标准I/O库
UNIX环境高级编程--标准I/O库 流和 FILE 对象 标准输入.标准输出和标准错误 缓冲 打开流 读和写流 每次一行 I/O 二进制 I/O 定位流 格式化 I/O 临时文件 内存流 流和 FI ...
- Unix环境高级编程 笔记
Unix环境高级编程(第二版)学习笔记 这是一次较长时间的整理,然而跳跃了一些章节和很多知识点,仍然是很不完善很不全面的. 前言 操作系统某些问题 严格意义上,可将操作系统定义为一种软件,它控制计算机 ...
最新文章
- 《数学之美》第26章 维特比和他的维特比算法
- NSA释出逆向工程工具GHIDRA针对恶意软件逆向分析
- 问题集锦(30-35)
- ubuntu 21.04 版本上 安装 sqlcmd
- 赠书 | 如何部署一个Knative Service
- CDH5.16.2下载安装
- Windows环境下基于python3 + selenium构建网络爬虫
- 凸优化问题中的Bregman迭代算法
- linux 串口 抓包工具下载,Device Monitoring Studio串口抓包工具使用教程
- VS下使用多字符集编码和Unicode字符集编码的总结
- 微信小程序跳转到另一个小程序(往返)
- 毕业设计 : 基于Spark的海量新闻文本聚类 - Spark 新闻分类 文本分类新闻聚类
- eui显示玩家服务器,EUI - 魔兽世界最贴心的插件
- ffmpeg的那点小事儿--编译ffmpeg同时支持libx264(视频编码)和libfdk(音频编码)
- My Sixth-Third Page - 爬楼梯 - By Nicolas
- Arduino 调用Stepper库驱动28BYJ-48步进电机,电机振动不转、无法反方向转的解决办法
- mysql 家谱树查询_无限级分类之查找子孙树和家谱树
- C# XML注释说明
- 可擦写光盘不能擦除和刻写_哪种更适合?三种可擦写刻录盘方案PK
- GDOI 2018 Day1 小学生图论题
热门文章
- 小程序开发工具中黑马优购小程序tabs组件_别不信,二十一天巧妙精通微信小程序的开发,附赠教程...
- 快手财报,虚惊一场?
- SpringSecurity权限管理框架系列(七)-SpringSecurity自定义配置类中自定义Filter的使用详解
- Caffe源码(十):eltwise_layer 分析
- jQuery Pagination分页插件
- latex怎么给图片命名_[Latex] Beamer 入门
- 项目管理9大知识思维导图-精减版+教你如何绘制专属思维导图
- [转]Linux学习路线
- tensorflow入门教程(四十四)人体姿态检测(二)
- 平安租赁面试java_2019平安租赁面试经验(资产运作,企业融资部等)