第 0 步,给 Cygwin 环境安装 gcc、make。linux
第 1 步,修改/usr/include/netinet/tcp.h文件,在后边添加这几个宏定义:redis
#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
/* Cygwin Fix */ #ifdef __CYGWIN__ #ifndef SA_ONSTACK #define SA_ONSTACK 0x08000000 #endif #endif
# FINAL_LDFLAGS+= -rdynamic // <-- 添加 # 把这行注释掉
$ cd redis-3.0.x/deps $ make lua hiredis linenoise
$ make && make install
$ redis-server.exe $ redis-cli.exe
#错误处理服务器
遇到 error: unknown type name ‘u_short’,tcp
修改 fmacros.h 文件,把判断 linux 的地方,增长判断 CYGWIN。例如:this
#if defined(__linux__) #define _GNU_SOURCE #define _DEFAULT_SOURCE #endif
改为:lua
#if defined(__linux__) || defined(__CYGWIN__) // <-- 在这里增长判断 CYGWIN #define _GNU_SOURCE #define _DEFAULT_SOURCE #endif
另外,还须要修改 deps/hiredis/fmacros.h,也要增长判断 CYGWIN:code
#if defined(__linux__) || defined(__CYGWIN__) #define _GNU_SOURCE #define _DEFAULT_SOURCE #endif
保存文件后,从新执行第 4 步和第 5 步!server