apue源代码的使用与编译

本文详细介绍了如何解决在编译《UNIX环境高级编程》书籍相关源码时遇到的错误,通过在apue.2e/include/apue.h中添加定义和在代码文件中包含相应头文件,成功解决了‘ARG_MAX’未声明的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自【http://www.cnblogs.com/wangshuo/archive/2011/04/09/2010512.html】

《UNIX环境高级编程》编译源码出错:

如下:


make[2]: 正在进入目录 `/home/rdc/文档/程序/unix环境高级编程/apue.2e/threadctl'
gcc -DLINUX -ansi -I/home/rdc/文档/程序/unix环境高级编程/apue.2e/include -Wall -D_GNU_SOURCE   -c -o getenv1.o getenv1.c
getenv1.c:4: error: ‘ARG_MAX’ undeclared here (not in a function)
make[2]: *** [getenv1.o] 错误 1
make[2]:正在离开目录 `/home/rdc/文档/程序/unix环境高级编程/apue.2e/threadctl'
make[1]: *** [linux] 错误 1
make[1]:正在离开目录 `/home/rdc/文档/程序/unix环境高级编程/apue.2e'

make: *** [all] 错误 2


解决方法:

在apue.2e/include/apue.h中添加一行:
#define ARG_MAX 4096
打开apue.2e/threadctl/getenv3.c(包括getenv1.c),添加一行:
#include "apue.h"

再次编译即可。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值