1) windows 7 64 linux
2) 安装 cygwin 64 下载相关的库redis
3) 下载redis 2.8.3源码windows
wget http://download.redis.io/releases/redis-2.8.3.tar.gzlua
进入到deps目录,修改文件 deps/hiredis/fmacros.h spa
#ifndef __HIREDIS_FMACRO_H #define __HIREDIS_FMACRO_H #if !defined(_BSD_SOURCE) #define _BSD_SOURCE #endif #if defined(__sun__) #define _POSIX_C_SOURCE 200112L #elif defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) #define _XOPEN_SOURCE 600 #else #define _XOPEN_SOURCE #endif //这是添加的. #if defined(__linux__) || defined(__CYGWIN__) #define _GNU_SOURCE #define _DEFAULT_SOURCE #endif #endif
而后编译depscode
cd deps ci
make lua linenoise hiredisget
4) 编译总体代码源码
先修改代码it
A) redis2.8.3/src/fmacros.h
第35行
#if defined(__linux__) #define _GNU_SOURCE #define _DEFAULT_SOURCE #endif
修改成
#if defined(__linux__) || defined(__CYGWIN__) #define _GNU_SOURCE #define _DEFAULT_SOURCE #endif
B) redis2.8.3/src/sds.h
添加修改
#ifdef __CYGWIN__ #define TCP_KEEPCNT 8 #define TCP_KEEPINTVL 150 #define TCP_KEEPIDLE 14400 #endif
修改 redis2.8.3/src/Makefile
找到 -rdynamic 64行左右
FINAL_LDFLAGS+= -rdynamic
前面使用#注释
#FINAL_LDFLAGS+= -rdynamic
而后在redis2.8.3/目录下执行make
编译以后的exe在src/*.exe