在 Cygwin 下编译安装 Redis

由于 Cygwin 的镜像源没有 Redis 包,Redis 不能像其它能够通过 apt-cyg 安装的工具一样被方便安装,但是可以通过编译源代码的方式来安装。

Cygwin 是模拟 Linux 环境的,不能直接编译安装,需要以下源码打补丁。

Patch

deps/hiredis/net.c 最后添加以下

1
2
3
4
5
6
/* Cygwin Fix */
#ifdef __CYGWIN__
#define TCP_KEEPCNT 8
#define TCP_KEEPINTVL 150
#define TCP_KEEPIDLE 14400
#endif

注释 src/Makefile 以下一行

1
2
FINAL_LDFLAGS+= -rdynamic /*注释掉这一行*/
# FINAL_LDFLAGS+= -rdynamic

构建

如果你的 Cygwin 还没有安装 make 和 gcc-g++,那么需要先执行以下命令安装编译环境。

1
apt-cyg install make gcc-g++

执行以下命令:

1
2
3
4
cd deps/
make lua hiredis linenoise
cd ..
make && make install

测试

编译完成后启动 Redis 测试是否编译成功。

1
redis-server

(完)

相关连接