编译c项目的时候错误 'redisConnect’未定义的引用

hijson 发布于 2018/02/26 19:24
阅读 600
收藏 0

我本地的开发环境是centos7,然后安装了hiredis,redis-server也成功启动了,/usr/local/include和/usr/local/lib文件下也添加了redis的依赖项,然是也一个简单的demo就报错

exp1.c:(.text+0x13):对‘redisConnect’未定义的引用

exp1.c:(.text+0x51):对‘redisCommand’未定义的引用

exp1.c:(.text+0x61):对‘freeReplyObject’未定义的引用

exp1.c:(.text+0x77):对‘redisCommand’未定义的引用

exp1.c:(.text+0x97):对‘freeReplyObject’未定义的引用

exp1.c:(.text+0xa3):对‘redisFree’未定义的引用

 

具体代码如何:

#include<stdio.h>
#include <hiredis/hiredis.h>

int main()
{  
    redisContext* conn = redisConnect("127.0.0.1",6379);  
    if(conn->err){  
        printf("connection error:%s\n",conn->errstr);  
    }  
    
    redisReply* reply = (redisReply*)redisCommand(conn,"set foo 1234");  
    freeReplyObject(reply);  
  
    reply = (redisReply*)redisCommand(conn,"get foo");  
    printf("%s\n",reply->str);  
    freeReplyObject(reply);  
    redisFree(conn);  
    return 0;
}  

直接 gcc exp1.c   编译的

第一次在centos上编译C项目,这个应该怎么处理?

加载中
0
快乐的一只小青蛙
快乐的一只小青蛙

gcc *.c -o a.out -L/path/to/your/lib -llibname 

返回顶部
顶部