cygwin64 编译 redis2.8.3源码

原创
2016/04/29 10:20
阅读数 147

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


展开阅读全文
1
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
1
分享
返回顶部
顶部