gpt4 book ai didi

c++ - 在 Redhat 上编译 SOCAT

转载 作者:太空狗 更新时间:2023-10-29 20:54:50 27 4
gpt4 key购买 nike

我正在尝试安装 SOCAT而且我对 C++ 很精简。所以按照说明 HERE我能够下载 1.7.3.1 的最新稳定版本,我通过 ./configure 获取,但是当我进入 ./make 时,出现以下错误:

nestlex.c:14:7: error: unknown type name ‘ptrdiff_t’
ptrdiff_t *len,
^
nestlex.c: In function ‘nestlex’:
nestlex.c:48:7: warning: implicit declaration of function ‘_nestlex’ [-Wimplicit-function-declaration]
_nestlex(addr, token, (ptrdiff_t *)len, ends, hquotes, squotes, nests,
^
nestlex.c:48:30: error: ‘ptrdiff_t’ undeclared (first use in this function)
_nestlex(addr, token, (ptrdiff_t *)len, ends, hquotes, squotes, nests,
^
nestlex.c:48:30: note: each undeclared identifier is reported only once for each function it appears in
nestlex.c:48:41: error: expected expression before ‘)’ token
_nestlex(addr, token, (ptrdiff_t *)len, ends, hquotes, squotes, nests,
^
nestlex.c: At top level:
nestlex.c:54:7: error: unknown type name ‘ptrdiff_t’
ptrdiff_t *len,
^
nestlex.c: In function ‘nestlex’:
nestlex.c:50:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
make: *** [nestlex.o] Error 1

系统信息:

cat system-release
Red Hat Enterprise Linux Server release 7.2 (Maipo)

rpm -qa |grep gcc
libgcc-4.8.5-4.el7.x86_64
gcc-4.8.5-4.el7.x86_64

rpm -qa |grep glibc
glibc-common-2.17-106.el7_2.6.x86_64
glibc-2.17-106.el7_2.6.x86_64
glibc-devel-2.17-106.el7_2.6.x86_64
glibc-headers-2.17-106.el7_2.6.x86_64

rpm -qa |grep gd
gdisk-0.8.6-5.el7.x86_64
gd-2.0.35-26.el7.x86_64
gdbm-1.10-8.el7.x86_64

我不确定从这里去哪里,因为我对必须从源代码安装还很陌生。我发现一些文章将问题描述为没有安装正确版本的 header 。如果有人能指出正确的方向,我将不胜感激。

提前致谢。

最佳答案

未知类型在头文件中定义stddef.h .如果没有 #include <stddef.h>在报告其编译错误的文件中,将其添加到顶部的某个位置。由于 header 包含在本质上是可传递的,因此当必要的包含存在于另一个仍包含的 header 中时,有时会发生此类错误,但较新的版本由于某种原因丢弃了包含。

通常可以通过搜索 here 找到常见类型的定义位置。例如。

关于c++ - 在 Redhat 上编译 SOCAT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37834408/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com