cygwin64 編譯 redis2.8.3源碼

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

相關文章
相關標籤/搜索