开发者社区> 问答> 正文

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

我本地的开发环境是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项目,这个应该怎么处理?

展开
收起
爱吃鱼的程序员 2020-06-07 18:08:02 1191 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        <p>gcc *.c -o a.out -L/path/to/your/lib -llibname </p>
    
    2020-06-07 18:08:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多