[UNIX环境高级编程](第三版)中apue.h的问题
编译 gcc -g myls.c 时,报错 ‘找不到头文件 apue.h’
apue.h是作者自己写的一个文件,系统不自带。其中包含了常用的头文件,以及出错处理函数的定义。
需要到 http://www.apuebook.com/code3e.html(这本书的官网) 下载 ‘src.3e.tar.gz’
进行解压(最新版产生的目录apue.3e),并执行安装
tar -zvx -f src.3e.tar.gz
进入目录apue.3e,执行安装
./configure
make
make install
但当执行 make时报错
make[1]: *** [barrier] 错误 1
解决方法:由于执行make时依赖于 libbsd这个库,需要安装 libbsd,
libbsd的官方解释:This library provides useful functions commonly found on BSD systems,
and lacking on others like GNU systems, thus making it easier to port projects with strong BSD origins,
without needing to embed the same code over and over again on each project.
我的理解是,Linux与Unix有一定的差异,libbs库提供了一些 Linux系统中缺少的东西
libbsd库需要到 http://pkgs.org/search/?query=libbsd&type=smart 确定下载的版本,执行安装(yum/apt-get)
或者下载到本地windows系统,通过ftp工具传送到Linux再安装
根据Linux的版本,下载相应的两个安装文件
例如CentOS 6系列/x86_64,需要下载
libbsd-0.6.0-1.el6.art.x86_64.rpm
libbsd-devel-0.6.0-1.el6.art.x86_64.rpm
然后按照顺序 安装即可
yum install libbsd-0.6.0-1.el6.art.x86_64.rpm
yum install libbsd-devel-0.6.0-1.el6.art.x86_64.rpm
再到apue.3e ,执行make、make install
此时会产生静态库文件 libapue.a,也就是最初报错缺少的东西
cp /apue.3e/include/apue.h /usr/include/
cp ./lib/libapue.a /usr/lib
执行编译通过
gcc myls.c -o myls -lapue (编译需要连接静态库)
另分享一个rpm资源的网站,可以搜索linux各个版本的软件资源
http://rpm.pbone.net/(底部分为4种模式查询)
完!
[UNIX环境高级编程](第三版)中apue.h的问题的更多相关文章
- 《UNIX环境高级编程第三版》apue.h等源码文件的编译安装
操作系统:Ubuntu 12/14 1.下载书中的源代码:点击下载 2.编译 tar -zxvf *.tar.gz cd ./apue.3e make 报错: can,t find -lbsd 解决办 ...
- Unix环境高级编程第三版中实例代码如何在自己的linux上运行的问题
学习Linux已经有2个月了,最近被期末考试把进度耽误了,前几天把Unix环境高级编程看了两章,感觉对Linux的整体有了一些思路,今天尝试着对第一章涉及到的一个简单的交互式shell编译运行一下,结 ...
- 【转】apue《UNIX环境高级编程第三版》第一章答案详解
原文网址:http://blog.csdn.net/hubbybob1/article/details/40859835 大家好,从这周开始学习apue<UNIX环境高级编程第三版>,在此 ...
- Linux - Unix环境高级编程(第三版) 代码编译
Unix环境高级编程(第三版) 代码编译 本文地址:http://blog.csdn.net/caroline_wendy 时间:2014.10.2 1. 下载代码:http://www.apuebo ...
- APUE(unix环境高级编程)第三版---first day---部署书中实例的运行环境(apue.h)
操作环境:RHEL7.0 部署apue.h实例运行环境 1.下载头文件src.3e.tar.gz 2.解压 tar zxvf src.3e.tar.gz 3.创建普通用户(我仿照书上创建的sar用户) ...
- Linux - Unix环境高级编程(第三版) 源代码编译(即头文件apue.h如何使用问题)【转】
本文转载自:http://blog.csdn.net/hadas_wang/article/details/43203795 1. 下载代码:http://www.apuebook.com/code3 ...
- 《UNIX环境高级编程(第3版)》
<UNIX环境高级编程(第3版)> 基本信息 原书名:Advanced Programming in the UNIX Environment (3rd Edition) (Addison ...
- unix环境高级编程第三章笔记
文件描述符 1.文件描述符的概念 对于内核而言,所有打开的文件都会用一个文件描述符来引用,打开或和创建一个新文件的时候,内核会给进程返回一个文件描述符,而当使用read write时,可以使用这个文件 ...
- 《UNIX环境高级编程》源码配置——apue.3e 安装
转载从:http://blog.csdn.net/songshimvp1/article/details/51440545 网上大都是针对UNIX高级编程第二版的头文件搭建,现在对于第三版来说有些过时 ...
- UNIX环境高级编程-第三章习题
1,当读写磁盘文件时,read,write等函数确实是不带缓冲机制的吗?请说明原因. 答:所有磁盘I/O都要经过内核的块缓存区(即内核的缓冲区高速缓存).唯一例外的是对原始磁盘设备的I/O,但是我们不 ...
随机推荐
- delphi execCommand
WebBrowser1.Document as IHTMLDocument2 关键点 function execCommand(const cmdID: WideString; showUI: Wor ...
- JellyViewPager
https://github.com/jfeinstein10/JazzyViewPager https://github.com/chiemy/JellyViewPager JellyViewPag ...
- 教你使用Android SDK布局优化工具layoutopt
创建好看的Android布局是个不小的挑战,当你花了数小时调整好它们适应多种设备后,你通常不想再重新调整,但笨重的嵌套布局效率往往非常低下,幸运的是,在Android SDK中有一个工具可以帮助你优化 ...
- rtp的封包与拆包h264
请看文档rfc3984 1.看h264的帧 SPS序列參数帧 00 00 00 01 67 64 . . .. PPS图像參数帧 00 00 00 01 68 EE... . I帧 00 00 00 ...
- Android 实现书籍翻页效果----升级篇
自从之前发布了<Android 实现书籍翻页效果----完结篇 >之后,收到了很多朋友给我留言,前段时间由于事情较多,博客写得太匆忙很多细节地方没有描述清楚.所以不少人对其中的地方有不少不 ...
- MySQL并发复制系列三:MySQL和MariaDB实现对比
http://blog.itpub.net/28218939/viewspace-1975856/ 并发复制(Parallel Replication) 系列三:MySQL 5.7 和MariaDB ...
- 小白日记5:kali渗透测试之被动信息收集(四)--theHarvester,metagoofil,meltag,个人专属密码字典--CUPP
1.theHarvester theHarvester是一个社会工程学工具,它通过搜索引擎.PGP服务器以及SHODAN数据库收集用户的email,子域名,主机,雇员名,开放端口和banner信息. ...
- Cheap CK100 1024 tokens NXP FIX Chip on Eobd2
CK100 is a well-known and cost-effective key programmer for many cars. Some said it is a must for bo ...
- IE8 innerHTML赋值时包含多级HTML标签时的解决方案
var inhtml = ''; var font = document.createElement("font"); var a = document.createElement ...
- 高效的网络流dinic算法模版
#include <cstring> #include <algorithm> #include <vector> #define Maxn 120010 #def ...