问题描述
我正在开发一个简单的应用程序,它使用了 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 站点上下载。所以需要下载旧版本的源代码,如果有的话才能完成编译。