Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1681903
  • 博文数量: 782
  • 博客积分: 2455
  • 博客等级: 大尉
  • 技术积分: 4140
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-06 21:37
个人简介

Linux ,c/c++, web,前端,php,js

文章分类

全部博文(782)

文章存档

2015年(8)

2014年(28)

2013年(110)

2012年(307)

2011年(329)

分类:

2011-09-07 09:19:24

原文地址:unix环境高级编程 apue.h 作者:涛声508

《unix环境高级编程》(第二版)这本书,实例程序中都包含头文件apue.h,寻找linux /usr/include中,缺找不到此头文件,因此编译时会出错。其实apue.h并不是系统自带头文件,而是作者自定义的一个头文件,包括了Unix 程序所需的常用头文件及作者Richard自己写的出错处理函数,目的是简化程序的书写和出错的处理。要想正确调试、编译书中的程序例子,需要进行下列配 置:
1、登陆网站 网站,下载src.tar.gz源代码包。
2、将该代码包ftp到linux系统一个目录中,此处举例 /home/limeng,解压缩。
3、进入目录目录/home/limengapue.2e,把文件Make.defines.linux 中的WKDIR=/home/sar/apue.2e 修改为 WKDIR=/home/limeng/apue.2e。
4、然后再进入apue.2e目录下的std目录,打开linux.mk,将里面的nawk全部替换为awk
5、把 /home/limeng/apue.2e/inlcude目录下的 apue.h 文件最后添加一行 #include "error.c",将该文件拷贝到/usr/include 目录中。
6、把 /home/limeng/apue.2e/lib目录下的 error.c 文件第一行 #include "apue.h"注释掉或者删除,也将该文件拷贝到/usr/include 目录中。
7、编译成功,OK!

zz http://blogold.chinaunix.net/u3/112849/showart_2505085.html

在make编译的过程中可能会报“ multiple definition of `err_dum”类似的错误,原因是重复包含,去掉相关文件中的包含头#include "apue.h" 文件即可。
此上为在PC环境下可执行文件的编译,若想交叉编译运行在开发板上,同理要修改交叉编译环境,才能正确编译。
阅读(566) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~