我正在运行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-source,但仍然不起作用。
发布于 2020-10-16 05:50:24
正如另一个答案所提到的,这个库没有在Linux上使用。由于这是在尝试在Linux上编译应用程序时出现的,所以可能没有正确设置#if
。
作为一种解决方法,可以查看源代码以了解#include
周围的#if
是什么,并在编译时将其设置为false。
例如,如果代码看起来像这样:
#if HAVE_STROPTS_H
#include <stropts.h>
#endif
如果你使用的是cmake或gcc,那就用-DHAVE_STROPTS_H=0
来运行它们。
发布于 2020-04-04 22:20:35
stropts.h
是Posix STREAMS扩展的一部分,Linux从来不支持它。(自2008年以来,它也被Posix标记为过时,因此它可能会在未来的一些标准修订中删除。)
已经有针对Linux的流的第三方实现,但我不知道是否仍然支持它们中的任何一个。基于Linux的电话应用程序使用的一个包含在openss7中。
https://stackoverflow.com/questions/61029226
复制相似问题