zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    开源项目
    [Accessibility] Missing contentDescription attribute on image [可取行]失踪contentDescription属性图像
    Android 布局 中实现适应屏幕大小及组件滚动
    EF 错误记录
    EasyUI 加载时需要显示和隐藏 panel(面板)内容破版问题
    IE 报表缩放后页面破版
    VS 2017 引入nuget 问题
    SSRS 报表显示页面 asp net session丢失或者找不到 asp net session has expired or could not be found()
    log4net 配置
    网站
  • 原文地址:https://www.cnblogs.com/LUA123/p/11447163.html
Copyright © 2011-2022 走看看