第 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