Hiredis 异步

问题描述

我正在开发一个简单的应用程序,它使用了 Redis 的官方 C 客户端hiredis 的异步方面。作为第一步,我尝试编译 the github repo 中可用的示例程序。我正在使用在 Ubuntu 20.04 上运行的 gcc 9.3.0 版进行编译。

编译失败并显示以下错误消息:

aeEventLoop 定义未找到。

我在所有头文件代码文件搜索了该结构。但是,我找不到这样的定义。

请告知如何解决此问题。谢谢!

解决方法

我发现 aeEventLoop 结构体是在 ae.h 中定义的,ae.h 是一个头文件,它是 Redis 源文件的一部分。 使用 Redis 源代码编译的问题是发行版支持的 Re dis 版本(至少是稳定版本)通常比可在 Redis 站点上下载的 Redis 旧得多。例如,Redis 5.0.7 在 Ubuntu 20.04 LTS 上可用; Redis 6.2.4 可在 Redis 站点上下载。所以需要下载旧版本的源代码,如果有的话才能完成编译。