對這個連接https://blog.csdn.net/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.csdn.net/qq_40134016/article/details/81712091和https://www.cnblogs.com/LUA123/p/11447163.html
編譯後的redis:https://download.csdn.net/download/lxh123456789asd/11848365