Windows下编译Redis5.0.5
先去弄Cygwin环境

下载完成

打开

下一步

下一步

下一步

下一步

下一步,出现一个界面,让你添加地址,你打开官网,选择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.- OK
检查gcc
$ gcc --version
gcc (GCC) 7.4.
Copyright © Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
检查make
$ make --version
GNU Make 4.2.
为 x86_64-unknown-cygwin 编译
Copyright (C) - Free Software Foundation, Inc.
许可证:GPLv3+:GNU 通用公共许可证第 版或更新版本<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
Windows下编译Redis5.0.5的更多相关文章
- windows 下编译 OpenSSL1.0.2l 版
1.需要的软件工具: microsoft visual studio2013(或2010以后其他版本) Perl 软件, 版本为strawberry - perl - 5.26.0.1 - 64bit ...
- 继《在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib》修订
在之前的<在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib>中有些问题,后来由于时间不是很充足,故现在对其中的问题进行完善,如下所示对红色框框中的相应的 ...
- [转] Windows下编译OpenSSL
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...
- Windows下编译objective-C
Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode 目录 ...
- 在Windows下编译FFmpeg详细说明
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...
- 如何在WINDOWS下编译BOOST C++库 .
如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25 写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0. 1)下载boost ...
- 在Windows下编译OpenSSL(VS2005和VC6)
需要说明的是请一定安装openssl-0.9.8a . openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...
- windows下编译java源文件的编码错误
import java.util.Arrays;public class ArrayAsAReference{ public static void main(String[] args) { int ...
- Windows下编译SDL
Windows下编译SDL的理由我就不多说了,无论用VS来编译或调试SDL库都是很方便的.而且SDL源代码中也包含了VC工程,你所要做的只是解压VC工程,进行适当的配置,然后编译.调试. 编译SDL大 ...
随机推荐
- 总结TCP与UDP的区别
TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源. TCP的缺 ...
- 洛谷P1434 [SHOI2002]滑雪
题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道在一个区域中最长 ...
- 利用python爬虫爬取图片并且制作马赛克拼图
想在妹子生日送妹子一张用零食(或者食物类好看的图片)拼成的马赛克拼图,因此探索了一番= =. 首先需要一个软件来制作马赛克拼图,这里使用Foto-Mosaik-Edda(网上也有在线制作的网站,但是我 ...
- ansible-playbook-批量修改主机名
修改cat /etc/ansible/hosts [test]10.27.235.108 host_name=test_host_name - hosts: test user: root gathe ...
- Gaze Estimation学习笔记(1)-Appearance-Based Gaze Estimation in the Wild
目录 前言 简介 论文概述 论文主要内容 MPIIGaze数据集 引入CNN的新Gaze Estimation方法 人脸对齐与3D头部姿态判断 归一化 使用CNN进行视线检测 论文作者进行的实验及结果 ...
- 【转】Linux 系统如何处理名称解析
原文写的很好:https://blog.arstercz.com/linux-%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E5%A4%84%E7%90%86%E5%90% ...
- Vintage_坏客户定义
python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...
- spark跑YARN模式或Client模式提交任务不成功(application state: ACCEPTED)(转)
不多说,直接上干货! 问题详情 电脑8G,目前搭建3节点的spark集群,采用YARN模式. master分配2G,slave1分配1G,slave2分配1G.(在安装虚拟机时) export SPA ...
- nodejs命令行执行时带参数
nodejs命令行执行时带参数 转 https://www.jianshu.com/p/474e6d76f867 今天项目里突然想在初始化时跑一些数据,于是想起以前在python时可以在命令行里带 ...
- 工作流之activiti6新手上路
工作流的定义(解决什么问题?) 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动 ...