错误:“redisasynccontext”未命名类型redisasynccontext*context;

mzillmmw  于 2021-06-10  发布在  Redis
关注(0)|答案(1)|浏览(532)

当我包含libevent.h时,出现了一个非常奇怪的错误。它无法找到redisasynccontext结构。这是我的头文件

  1. # include <hiredis/hiredis.h>
  2. # include <hiredis/async.h>
  3. # include <hiredis/adapters/libevent.h>
  4. class RedisMgr :Thread{
  5. public:
  6. static RedisMgr *getRedisMgr ();
  7. int Init();
  8. void Start();
  9. int End();
  10. void* run();
  11. int Publish(int type);
  12. private:
  13. static RedisMgr s_instance;
  14. bool exitThread;
  15. redis_t Pub_Redis;
  16. sem_t redis_publock;
  17. RedisMgr();
  18. ~RedisMgr ();
  19. static void pubCallback(redisAsyncContext *c, void *r, void *privdata);
  20. void pubCallback_Handler(redisAsyncContext *c, void *r, void *privdata);
  21. static void connectCallback(const redisAsyncContext *c, int status);
  22. void connectCallback_Handler(const redisAsyncContext *c, int status);
  23. static void disconnectCallback(const redisAsyncContext *c, int status);
  24. void disconnectCallback_Handler(const redisAsyncContext *c, int status);
  25. };

该错误是从包含的libevent.h文件以及我在.h中所做的refisasynccontext引用中抛出的
这是错误:

  1. /usr/include/hiredis/adapters/libevent.h:11:5: error: 'redisAsyncContext' does not name a type
  2. redisAsyncContext *context;
  3. src/headers/RedisMgr.h:36:5: error: 'redisAsyncContext' does not name a type
  4. redisAsyncContext *c;
iovurdzv

iovurdzv1#

我发现了问题。不知何故,async.h被替换/更改,它不再具有redisasynccontext结构的定义。我从网上下载了相应的文件,构建工作正常。我应该在发帖前彻底检查一下-我的错

相关问题