c/c++语言开发共享Ubuntu rusage错误

我正在将一些非常古老(和庞大的代码)代码从CentOS 6移植到Ubuntu 14.04。 注意,我已经安装了预期的旧版gcc,固定链接器引用等。

我的构建尝试正在进行中,但我坚持一件事。 有一个C文件试图创建一个rusage类型的结构,但Ubuntu环境给我以下错误: error: storage size of 'rusage' isn't known

据我所知,我的所有路径看起来都是正确的。 我甚至查看了每个系统上的time.h和resource.h系统文件(CentOS在哪里工作,Ubuntu在哪里不起作用)。 似乎有一个wait.h文件的引用,其中rusage实际定义,只是相同。

在我的Ubuntu环境中还有什么可能遗漏的?

编辑:添加更多MCVE-ish详细信息……

我的构建停止,出现以下错误:

vmodem.c:6747: error: storage size of 'rusage' isn't known

文件中的那一行很简单:

 struct rusage rusage 

所需的包含也在该文件中( 等)

不知道在这种情况下我还能提供什么……

    CentOS 6和Ubuntu 14.04上的getrusage手册页说,应该包括

    您提到包含 。 它有一个前向声明struct rusage; 所以wait3wait4的声明是有效的,但是这个前向声明不足以让你声明一个rusage类型的结构。

    事情在CentOS 6上工作,因为CentOS 6的wait.h包含一行#include ,而resource.h完全声明了struct rusage ,但是Ubuntu 14.04的wait.h不包含#include 行。

    感谢coredump和Eugene Sh。 提示……添加#include 就是诀窍。

    它一定是在CentOS中运行但不是Ubuntu的东西。 无论如何,简单地包含资源头文件不应该伤害任何东西。

      以上就是c/c++开发分享Ubuntu rusage错误相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/519372.html

      (0)
      上一篇 2020年12月5日
      下一篇 2020年12月5日

      精彩推荐