如何为 <stropts.h> 安装库?

How do I install libraries for <stropts.h>?

我是 运行 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 但仍然没有成功。

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

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

如其他答案所述,此库未在 Linux 上使用。由于在 Linux 上尝试编译应用程序时出现此问题,可能 #if 设置不正确。

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

例如,如果代码如下:

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

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