《Unix环境高级编程》笔记之——Apue源码编译(Ubuntu 12.04)
来源:互联网 发布:淘宝网大童童装 编辑:程序博客网 时间:2024/06/14 16:04
一、修改源码文件
cd apue.2evim Make.defines.linux
修改Make.defines.linux文件WKDIR=/home/sar/apue.2e为你apue.2e所在的路径WKDIR=/your path/apue.2e
cd apue.2e/stdvim linux.mk修改linux.mk文件中所有的nawk为awk
接着返回到apue.2e目录下make
二、错误处理
/usr/include/i386-linux-gnu/bits/timex.h:31:7: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘.’ tokenmake[2]: *** [printd.o] Error 1make[2]: Leaving directory `/home/mmk/Desktop/apue.2e/ipp'make[1]: *** [linux] Error 1make[1]: Leaving directory `/home/mmk/Desktop/apue.2e'make: *** [all] Error 2原因:status定义冲突
timex.h的第31行已经定义status:int status; /* clock command/status */
apue.2e/ipp/ipp.h中122行定义status:#define status u.st
解决方法:
1.修改apue.2e/ipp/ipp.h中的status为Status,接着make,出现如下错误:
gcc -DLINUX -ansi -I/home/Desktop/apue.2e/include -Wall -D_GNU_SOURCE -DDEBUG -c -o printd.o printd.cprintd.c: In function ‘printer_status’:printd.c:977:16: error: ‘struct ipp_hdr’ has no member named ‘status’make[2]: *** [printd.o] Error 1make[2]: Leaving directory `/home/mmk/Desktop/apue.2e/ipp'make[1]: *** [linux] Error 1make[1]: Leaving directory `/home/mmk/Desktop/apue.2e'make: *** [all] Error 2
2.修改/apue.2e/ipp/printd.c第977行 i = ntohs(hp->status);为i = ntohs(hp->Status);,继续make,出现如下错误:
gcc -DLINUX -ansi -I/home/Desktop/apue.2e/include -Wall -D_GNU_SOURCE -c -o getenv1.o getenv1.cgetenv1.c:4:20: error: ‘ARG_MAX’ undeclared here (not in a function)getenv1.c:4:13: warning: ‘envbuf’ defined but not used [-Wunused-variable]make[2]: *** [getenv1.o] Error 1make[2]: Leaving directory `/home/mmk/Desktop/apue.2e/threadctl'make[1]: *** [linux] Error 1make[1]: Leaving directory `/home/mmk/Desktop/apue.2e'make: *** [all] Error 2错误原因:没有定义声明ARG_MAX
解决方法:
1.在apue.2e/include/apue.h中添加宏定义#define ARG_MAX 4096
2.在apue.2e/threadctl/getenv1和cgetenv3.c中添加#include "apue.h"
继续make,解决问题,OK
0 0
- 《Unix环境高级编程》笔记之——Apue源码编译(Ubuntu 12.04)
- 《Unix环境高级编程》(APUE)附带源码编译过程
- 《UNIX环境高级编程》apue源代码Ubuntu下的编译
- 《UNIX环境高级编程》apue源代码Ubuntu下的编译
- 《UNIX环境高级编程》apue源代码Ubuntu下的编译
- 《UNIX环境高级编程》APUE源码使用方法
- UNIX环境高级编程(第二版)/APUE源码编译及使用
- UNIX环境高级编程(第二版)/ APUE 源码编译与使用
- UNIX高级环境编程:源码(apue)下载 编译和运行
- Ubuntu 12.04 配置apue2环境(《unix环境高级编程》源码编译环境安装)
- UNIX环境高级编程的apue.h源码-APUE
- UNIX环境高级编程之apue.h
- 《UNIX环境高级编程》源码配置——apue.3e 安装
- UNIX环境高级编程(APUE) 总结
- 《unix高级环境编程》关于apue.h和源码编译问题
- UNIX环境高级编程-第0章- 关于apue.h和源码编译问题
- unix环境高级编程 APUE.H最简单编译方法(第二版) Linux和Ubuntu
- 【APUE】4、Unix环境高级编程——解惑篇
- 黑马程序员_数组2
- 用友通ERP客户端报无法登陆错
- 素数筛选法
- spring.net 下载地址 神一样的官网,找了半天找不到下载地址!!最终得到下面的下载地址
- 主流浏览器的兼容问题及注意事项
- 《Unix环境高级编程》笔记之——Apue源码编译(Ubuntu 12.04)
- Android音频系统之音频基础
- WinXP下替代IIS的新思路
- ORA-01480 trailing null missing from STR bind value
- php对象serialize、unserialize时与sleep、wakeup的关系
- C语言:编程实现从键盘上输入一组数据,用冒泡排序进行排序输出
- Android音频系统之音频框架
- 在IIS中启用父路径,不被黑客利用
- Servlet 分析