如题,出现这个问题的原因是在timex.h的第31行出现了status的定义:
int status; /* clock command/status */而文件apue.2e/ipp/ipp.h中有宏定义:
#define status u.st
这样编译的时候就出问题了,如编译提示:
expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘.’ token解决方法是把ipp.h文件里的status改成其他名称,比如Status,再次编译,错误提示status神马的信息,找到status出错的位置,把它改为Status就行了。
此处我的status出错位置在printd.c的第977行中:
i = ntohs(hp->status);关于apue源码的其他问题请看:
http://blog.youkuaiyun.com/willierjyt/article/details/6079461
本文介绍了在使用timex.h和ipp.h两个头文件时遇到的status宏定义冲突问题及解决方案。冲突出现在timex.h的status变量与ipp.h中的status宏定义相同,导致编译错误。文章提供了修改建议并指出了具体出错位置。
1072

被折叠的 条评论
为什么被折叠?



