1) windows 7 64
2) 安装 cygwin 64 下载相关的库
3) 下载redis 2.8.3源码
wget http://download.redis.io/releases/redis-2.8.3.tar.gz
进入到deps目录,修改文件 deps/hiredis/fmacros.h
#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
然后编译deps
cd deps
make lua linenoise hiredis
4) 编译整体代码
先修改代码
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
来源:oschina
链接:https://my.oschina.net/u/1538135/blog/667960