apue编译错误汇总(Ubuntu 12.04)

apue源码make:/usr/include/bits/timex.h:31:7: 错误:expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ be的解决方法

如题,出现这个问题的原因是在timex.h的第31行出现了status的定义:

 
  1. int status;     /* clock command/status */  


而文件apue.2e/ipp/ipp.h中有宏定义:


  1. #define status u.st  


这样编译的时候就出问题了,如编译提示:


  1. expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘.’ token  


解决方法是把ipp.h文件里的status改成其他名称,比如Status,再次编译,错误提示status神马的信息,找到status出错的位置,把它改为Status就行了。
此处我的status出错位置在printd.c的第977行中:

 
    1. i = ntohs(hp->status);  
原文地址:https://www.cnblogs.com/huazi/p/2815983.html