【问题标题】:How do I install libraries for <stropts.h>?如何为 <stropts.h> 安装库?
【发布时间】:2020-04-04 14:00:57
【问题描述】:

我正在运行 Kali-Linux (debian+gnome)。编译时出现编译错误:

cc -Wall -g   -c -o frag.o frag.c
frag.c:7:10: fatal error: stropts.h: No such file or directory
    7 | #include <stropts.h>
      |          ^~~~~~~~~~~
compilation terminated.
make: *** [<builtin>: frag.o] Error 1

谁能告诉我我缺少什么以及我应该安装什么? 我尝试安装 glibc-sources 但仍然没有成功。

【问题讨论】:

  • 在 Linux 上?你没有。它从不支持 STREAMS。

标签: c++ c gcc debian


【解决方案1】:

正如另一个答案所提到的,这个库不在 Linux 上使用。由于这是在尝试在 Linux 上编译应用程序时出现的,可能是 #if 设置不正确。

作为一种解决方法,请查看源代码以了解 #if 周围的 #include 是什么,并在编译时将其设置为 false。

例如,如果代码如下所示:

#if HAVE_STROPTS_H
#include <stropts.h>
#endif

如果您使用的是 cmake 或 gcc,请使用 -DHAVE_STROPTS_H=0 运行它们。

【讨论】:

    【解决方案2】:

    stropts.h 是 Linux 从未支持的 Posix STREAMS 扩展的一部分。 (自 2008 年以来,它也被 Posix 标记为过时,因此可能会在未来的某些标准修订中被删除。)

    已经有 STREAMS for Linux 的第三方实现,但我不知道是否仍然支持它们中的任何一个。基于 Linux 的电话应用程序使用的一种包含在 openss7 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-23
      • 2012-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-30
      相关资源
      最近更新 更多