unix环境高级编程编译方法 -apue最简单编译方法(第二版)

转载:unix环境高级编程编译方法 -apue最简单编译方法(第二版),http://www.cnblogs.com/gaojunling/articles/1237611.html


一直以来参考的学习linux函数的书籍,初学时尝试使用其代码示例,但总会被其通用的头文件找不到而影响。当时也有尝试去编译,但好像出了一些问题,就放弃掉了。

今天打算深入探究一下,编译出错后就在网上找到了办法,http://www.cnblogs.com/gaojunling/articles/1237611.html,讲得很清楚,收藏!!


我是用其第二种方法,将nawk命令改为awk而编译OK的!内容如下:

1.首先粗略的看了一下makefile的内容,make首先会执行脚本文件systype.sh,判断所用系统的类型,然后根

据该类型选择对应的Make.defines文件.这里所要做的就是给systype.sh添加执行权限,chmod u+x

systype.sh
2.因为我用的是Linux,所以先看Make.defines.linux,需要修改的地方是WKDIR=/home/sar/apue.2e,把WKDIR

改为你自己的工作目录,在我这就是改为WKDIR=/home/se/apue.2e,这个路径在编译时寻找"apue.h"头文件时

使用.

3.然后我尝试性的运行了一次make,果然有问题,在进入std目录后报错了,说找不到nawk命令,nawk是new

awk,而我的系统上只有awk,这时你有两种选择,可以在运行make之前执行alias nawk='awk',这样本质上是给

awk取了个叫nawk的别名,实际上运行的还是awk,另一种方法就是修改WKDIR/std /linux.mk,把第10行和15行

中的nawk都改为awk,至于什么是awk和nawk,以及它们的使用方法可以参考我之前收藏的一篇文章

http://www.360doc.com/showWeb/0/0/308938.aspx
在这里,awk用来分别从makeconf.awk和makeopt.awk生成conf.c和options.c源文件,注意,在修改了linux.mk

或是添加了alias之后要先把之前make失败时生成的conf.c和options.c删除,否则会报错

4.进行了上述的修改后,回到WKDIR,运行make,ok,没有报错,编译成功了


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值