Я получаю очень странную ошибку, когда включаю libevent.h. Не удалось найти структуру redisAsyncContext. Это мой файл заголовка.
#include <hiredis/hiredis.h>
#include <hiredis/async.h>
#include <hiredis/adapters/libevent.h>
class RedisMgr :Thread{
public:
static RedisMgr *getRedisMgr ();
int Init();
void Start();
int End();
void* run();
int Publish(int type);
private:
static RedisMgr s_instance;
bool exitThread;
redis_t Pub_Redis;
sem_t redis_publock;
RedisMgr();
~RedisMgr ();
static void pubCallback(redisAsyncContext *c, void *r, void *privdata);
void pubCallback_Handler(redisAsyncContext *c, void *r, void *privdata);
static void connectCallback(const redisAsyncContext *c, int status);
void connectCallback_Handler(const redisAsyncContext *c, int status);
static void disconnectCallback(const redisAsyncContext *c, int status);
void disconnectCallback_Handler(const redisAsyncContext *c, int status);
};
Ошибка возникает как из включенного файла libevent.h, так и из ссылки refisAsyncContext, которую я сделал в моем .h
Это ошибка:
/usr/include/hiredis/adapters/libevent.h:11:5: error: 'redisAsyncContext' does not name a type
redisAsyncContext *context;
src/headers/RedisMgr.h:36:5: error: 'redisAsyncContext' does not name a type
redisAsyncContext *c;