2014-11-30 4 views

ответ

0

Прочитать как link libraries with G-WAN. Даже с GCC вам нужно сообщить компоновщику, какая библиотека используется. G-WAN не отличается.

+0

Я читал несколько раз. Кажется, я не могу работать с hiredis или быть связанными? все пробовал. много часов. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ Ссылка hell.c: undefined symbol: redisConnectWithTimeout ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ #include "gwan.h" // G-WAN экспортируемых функций #pragma включают "./libraries/hiredis" #include пожалуйста, помогите. можете ли вы предоставить учебник только для правильной привязки hiredis? Я пытаюсь получить http://ssdb.io/ cpp, работающий тоже ... – stashfree

+0

Пожалуйста, предоставьте изображение докеры для gwan. Пожалуйста. Благодаря! – stashfree

+1

** Docker ** - это упаковочный продукт. Никто не будет работать над этим без уважительной причины, чтобы вкладывать часы, чтобы узнать, как работает этот сторонний продукт. – Gil

0

Вот мой скрипт работает на моем сервере:

#include "gwan.h" // G-WAN API 
#pragma link "hiredis" 
#include "hiredis/hiredis.h" 
typedef struct 
{ 
    redisContext *rCont; 
    redisReply *rReply; 
} data_t; 


int main(int argc, char *argv[]) 
{ 
    data_t **d = (data_t**)get_env(argv, US_SERVER_DATA); 
    xbuf_t *reply = get_reply(argv); 
    u64 start = getus(); 
    const char *hostname = "127.0.0.1"; 
    int port = 6379; 
    struct timeval timeout = { 1, 500000 }; // 1.5 seconds 
    if(!d[0]) // first time: persistent pointer is uninitialized 
    { 
    d[0] = (data_t*)calloc(1, sizeof(data_t)); 
    if(!d[0]) 
     return 500; // out of memory 
    d[0]->rCont = redisConnectWithTimeout(hostname, port, timeout); 
    } 

    d[0]->rReply = redisCommand(d[0]->rCont,"PING"); 
    xbuf_xcat(get_reply(argv), "PING %s<br>", d[0]->rReply->str); 
    freeReplyObject(d[0]->rReply); 
    xbuf_xcat(get_reply(argv), "<hr>%llu µs<hr>", getus() - start); 

    return 200; 
} 

Вы должны получить hiredis скомпилирован и скопированный в ваш Lib каталога.