编译systrace时给出;声明说明符中的两个或多个数据类型;
我一直在尝试在Ubuntu上编译systrace(1.6g)。在使用libevent 2.0.16时,出现以下编译错误:编译systrace时给出;声明说明符中的两个或多个数据类型;,c,ubuntu,libevent,C,Ubuntu,Libevent,我一直在尝试在Ubuntu上编译systrace(1.6g)。在使用libevent 2.0.16时,出现以下编译错误: In file included from /usr/include/netdb.h:28, from /usr/include/event2/util.h:63, from /usr/include/evutil.h:37, from /usr/include/event.
In file included from /usr/include/netdb.h:28,
from /usr/include/event2/util.h:63,
from /usr/include/evutil.h:37,
from /usr/include/event.h:57,
from systrace.c:67:
/usr/include/netinet/in.h:141: error: two or more data types in declaration specifiers
/usr/include/netinet/in.h:141: error: two or more data types in declaration specifiers
这些是/usr/include/netinet/in.h中的对应行:
/* Internet address. */
typedef uint32_t in_addr_t;
struct in_addr
{
in_addr_t s_addr;
};
有人能提供我可以在netinet/in.h中更改哪些内容以使其正常工作的见解吗?您可以查看
config.h
(通过运行/configure
创建)并找到行
#define in_addr_t unsigned long
注释掉(或删除),您至少可以进一步编译这个显然以某种方式损坏的包
猜测一下:由于systrace 1.6g非常旧,可能需要使用libevent 1.x.y来编译它
您可能想下载当前的libevent 1软件包。您可以查看
config.h
(通过运行/configure
创建)并找到该行
#define in_addr_t unsigned long
注释掉(或删除),您至少可以进一步编译这个显然以某种方式损坏的包
猜测一下:由于systrace 1.6g非常旧,可能需要使用libevent 1.x.y来编译它
您可能想下载当前的libevent 1软件包。运行make时,使用libevent-1.4.14b-stable会显示此错误消息:。与libevent-1.0e的结果相同。我还尝试使用gcc-3.4,当我使用它时,甚至libevent 2.0.16在paste中也给出了相同的错误消息。知道发生了什么吗?my
config.h
包含其中两行,删除它们使其工作使用libevent-1.4.14b-stable在我运行make时会显示以下错误消息:。与libevent-1.0e的结果相同。我还尝试使用gcc-3.4,当我使用它时,甚至libevent 2.0.16在paste中也给出了相同的错误消息。知道发生了什么吗?我的config.h
包含这两行代码,删除它们可以让它正常工作