我正在开发一个简单的应用程序,它使用hiredis的异步方面,而hiredis是Redis的官方C客户机。作为第一步,我尝试编译github回购中可用的示例程序。我在Ubuntu20.04上使用gcc版本9.3.0编译。
编译失败,错误消息如下:
找不到
aeEventLoop定义。
我在所有的头文件和代码文件中搜索那个结构。但是,我找不到这样的定义。
请建议如何解决这个问题。谢谢!
发布于 2021-06-21 12:53:07
我发现它的aeEventLoop结构是在ae.h中定义的,这个头文件是Redis源文件的一部分。用Redis源代码编译的问题是,发行版(至少是稳定版本)支持的Redis版本通常比Redis站点上可供下载的Redis版本老得多。例如,Redis 5.0.7可在Ubuntu20.04LTS上获得;Redis 6.2.4可在Redis站点上下载。因此,如果可以完成编译,则需要下载旧版本的源代码。
发布于 2021-11-23 13:04:20
Hiredis支持许多不同的事件库,如libevent、libev、glib、qt等等。AE是Redis (服务器)中使用的事件库,与Hiredis一起使用它需要来自Redis的一些文件,但其他事件库都不依赖Redis源代码。我建议你试一试丽贝卡或丽贝卡。
使用具有不同事件库的异步API的示例:https://github.com/redis/hiredis/tree/master/examples
https://stackoverflow.com/questions/67980797
复制相似问题