vs2015 hiredis编译使用

获取redis windows版

github上项目地址

编译hiredis

1.解压redis,打开源码目录中msvs目录中的sln文件

2.redis服务器安装好的前提下,只需要编译下面两个项目即可

在此要注意一点,就是32位64位选择,32位使用需要编译32位版本,64位同样。也可两个版本都编译备用。

3.编译完成之后需要对库头文件进行整理,在这里我专门建立了一个文件夹整理头文件(按照自己喜欢的方式整理即可)

引用库文件需要源码中src/Win32_Interop下所有头文件和deps/hiredis下所有头文件(其中fmacros.h用src文件夹下的fmacros.h文件替代),我整理如下所示

使用时直接引用include到项目中即可,注意检查头文件中的包含关系。

在工程中使用hiredis

创建工程之后

1.添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。

2.添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。

3.然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名

即可成功调用hiredis,示例代码

#include "stdafx.h"
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#include <hiredis/hiredis.h>
#include <interop/win32fixes.h>
 
 
int main()
{
	unsigned int j;
	redisContext *c;
	redisReply *reply;
 
	struct timeval timeout = { 1, 500000 };
	c = redisConnectWithTimeout((char *)"212.64.10.124", 6379, timeout);
	if (c->err)
	{
		printf("Connection error:%s\n", c->errstr);
		exit(1);
	}
 
	//ping
	reply = (redisReply *)redisCommand(c, "PING");
	printf("PING: %s\n", reply->str);
	freeReplyObject(reply);
 
 
	return 0;
}

运行结果如下

 

遇到的错误

是因为redis在Posix体系下,off_t被定义成64位,而在windows下被sys\types.h文件定义成32位。在工程属性里定义_OFF_T_DEFINED 即可

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值