Windows下編譯Redis5.0.5

先去弄Cygwin環境

http://www.cygwin.com/

 下載完成

 打開

下一步

 下一步

 下一步

 下一步

 下一步,出現一個界面,讓你添加地址,你打開官網,選擇mirror sites,點擊下面的 Hong Kong(http://mirror-hk.koddos.net/cygwin/

 

 

 把Hong Kong的地址填上,下一步,出現一個選擇包的界面

 搜索框裏輸入文字自動搜索,點擊“New”的一列,有個那個下拉按鈕,選擇版本

 

還有automake

下一步

 

 下一步

 完成

 雙擊桌面上的圖標,啓動

 檢查狀態和版本

$ cygcheck -c cygwin
Cygwin Package Information
Package              Version        Status
cygwin               3.0.7-1        OK

檢查gcc

$ gcc --version
gcc (GCC) 7.4.0
Copyright © 2017 Free Software Foundation, Inc.
本程序是自由軟件;請參看源代碼的版權聲明。本軟件沒有任何擔保;
包括沒有適銷性和某一專用目的下的適用性擔保。

檢查make

$ make --version
GNU Make 4.2.1
爲 x86_64-unknown-cygwin 編譯
Copyright (C) 1988-2016 Free Software Foundation, Inc.
許可證:GPLv3+:GNU 通用公共許可證第 3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本軟件是自由軟件:您可以自由修改和重新發布它。
在法律允許的範圍內沒有其他保證。

編譯Redis

這裏我已經下載好了,解壓。進入此目錄,執行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;

 解決:把hiredis目錄刪除,去GitHub下載新的替代出問題的。https://github.com/redis/hiredis

執行make,不報錯了

下面進入lua的目錄,執行make generic

 這個也沒什麼問題。進入linenoise目錄,執行make

最後進入根目錄,執行make

最後,啓動驗證

客戶端

但是有個問題哦,也就是說:我編譯這個東西的初衷就是,讓編譯好的Redis能直接在Windows上啓動,而利用Cygwin64編譯的,只能通過Cygwin64命令行來啓動。下面是我直接打開redis-server.exe:

 

 所以說,從這一方面來說,沒達到我想要的結果。微軟有Windows版本的Redis,但是那個最新就是3.X的,現在redis都5.X了,想自己編譯一個高版本的還不行。。。

不過呢,雖然我們無法直接啓動,但是我們可以直接使用的。比如我本地的客戶端連接也是可以連得上的

不過Cygwin也是個不錯的玩意,能在Windows上模擬出Linux的環境。

 

 1. 大量GNU和開源工具的集合,它們在Windows上提供類似Linux發行版的功能。

 2. 一個DLL (cygwin1.dll),它提供了大量的POSIX API功能

至於那個所需的dll文件,就在安裝目錄的bin目錄下

 

 所以~我有個大膽的想法(複製到redis-server.exe同級目錄)

 

成功了!

客戶端連接也沒啥問題

 

 我整理了一下,大概就這幾個文件

 

 

我把文件打包上傳到GitHub了:https://github.com/Mysakura/DataFiles

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章