对这个连接https://blog.youkuaiyun.com/johnf_nash/article/details/51794003做补充
从Cygwin官网下载安装程序,下载完成后双击开始Cygwin进行安装。一直点击下一步,直到出现软件包管理界面,如下:
在输入框中依次输入gcc、make,在Devel类型中选择合适的软件包,点击左侧的“Skip”,即可选中要安装的软件包
另外,还可以安装wget(用来下载Redis源代码),vi编辑器
2.1 打开Cygwin,从地址 http://download.redis.io/redis-stable.tar.gz下载Redis最新的稳定版本(如果是其他版本,可以去http://download.redis.io/releases/找其他版本),使用wget下载,
wget http://download.redis.io/redis-stable.tar.gz
2.2 Redis源码下载完成后,使用tar命令进行解压,命令如下:
2.3 解压完成后,修改/usr/include/netinet/tcp.h文件,在文件开始的注释后加入以下宏定义
#ifndef TCP_KEEPIDLE
#define TCP_KEEPIDLE 4 /* Start keeplives after this period */
#endif
#ifndef TCP_KEEPINTVL
#define TCP_KEEPINTVL 5 /* Interval between keepalives */
#endif
#ifndef TCP_KEEPCNT
#define TCP_KEEPCNT 6 /* Number of keepalives before death */
#endif
2.4 接下来修改redis-stable/src/Makefile文件,找到
FINAL_LDFLAGS+= -rdynamic,将这句注释掉
# FINAL_LDFLAGS+= -rdynamic
2.5 然后进入redis所在目录下的deps目录,执行make命令
make lua hiredis linenoise
make &&make install
执行完成之后,Redis就编译完成了
2.7 测试Redis是否编译完成
在Cygwin窗口中输入 redis-server.exe 命令,启动Redis Server
补充:
1.如果安装Cygwin的时候没有安装gcc,安装Cygwin时,丢失gcc/g++,解决问题 主要是补装命令是在windows下cmd,找到安装文件目录执行这个命令setup-x86_64.exe -q -P wget -P gcc-g++ -P make -P diffutils -P libmpfr-devel -P libgmp-devel -P libmpc-devel(不过记得复制setup-x86_64.exe到安装文件目录下,不然会包找不到setup-x86_64.exe)
2.进入redis的版本目录,如redis-4.0.0/进行make,报cc: 错误:../deps/hiredis/libhiredis.a:No such file or directory
cc: 错误:../deps/lua/src/liblua.a:No such file or directory;我们进入hiredis目录,执行make,同样报错net.c: 在函数‘_redisContextConnectTcp’中:net.c:270:21: 错误:‘hints’的存储大小未知struct addrinfo hints, *servinfo, *bservinfo, *p, *b;。我们可以进入去GitHub下载新的替代出问题的。https://github.com/redis/hiredis下载hiredis包,将里面的文件复制到redis-4.0.0/deps/l中。重新进行make即可。
3.就是结果安装的是.exe文件,这是属于window的,如果想编译成linux所需的文件该怎么处理呢。
补充的思路来源:https://blog.youkuaiyun.com/qq_40134016/article/details/81712091和https://www.cnblogs.com/LUA123/p/11447163.html
编译后的redis:https://download.youkuaiyun.com/download/lxh123456789asd/11848365