Cygwin 环境中编译安装 Redis-3.0.x

  • 第 0 步,给 Cygwin 环境安装 gcc、make。

  • 第 1 步,修改/usr/include/netinet/tcp.h文件,在后边添加这几个宏定义:

#ifndef TCP_KEEPIDLE
#define TCP_KEEPIDLE 4     /* Start keeplives after this period */
#endif

#ifndef TCP_KEEPINTVL
#define TCP_KEEPINTVL 5    /* Interval between keepalives */
#endif

#ifndef TCP_KEEPCNT
#define TCP_KEEPCNT 6      /* Number of keepalives before death */
#endif
  • 第 2 步,修改 redis-3.0.x/src/fmacros.h 文件,在前面加入这一个宏定义:
/* Cygwin Fix */
#ifdef __CYGWIN__
#ifndef SA_ONSTACK
#define SA_ONSTACK 0x08000000
#endif
#endif
  • 第 3 步,修改 redis-3.0.x/src/Makefile 文件,转到第 73 行,(用 # 号)注释掉:
# FINAL_LDFLAGS+= -rdynamic // <-- 添加 # 把这行注释掉
  • 第 4 步,到 redis-3.0.x/deps 目录下运行 make 命令:
$ cd redis-3.0.x/deps
$ make lua hiredis linenoise
  • 第 5 步,回到 redis-3.0.x 目录运行 make 命令:
$ make && make install
  • 第 6 步,启动 redis 服务器和客户端:
$ redis-server.exe
$ redis-cli.exe

#错误处理

遇到 error: unknown type name ‘u_short’,

修改 fmacros.h 文件,把判断 linux 的地方,增加判断 CYGWIN。例如:

#if defined(__linux__)
#define _GNU_SOURCE
#define _DEFAULT_SOURCE
#endif

改成:

#if defined(__linux__) || defined(__CYGWIN__) // <-- 在这里增加判断 CYGWIN
#define _GNU_SOURCE
#define _DEFAULT_SOURCE
#endif

另外,还需要修改 deps/hiredis/fmacros.h,也要增加判断 CYGWIN:

#if defined(__linux__) || defined(__CYGWIN__)
#define _GNU_SOURCE
#define _DEFAULT_SOURCE
#endif

保存文件后,重新执行第 4 步和第 5 步!

转载于:https://my.oschina.net/hjj2017/blog/614618

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值