码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 如何使用Cygwin编译最新版的Redis源码,生成适用于Windows的Redis


    文章目录

      • 一、准备Cygwin环境
      • 二、下载Redis源码
      • 三、编译redis-7.2.0
        • 1. 执行make命令
        • 2. 重新执行make命令
        • 3. 再次执行make命令
        • 4. 将编译后的可执行文件及依赖放到同一个文件夹
        • 5. 测试编译生成的可执行程序
      • 四、换其他redis版本重新编译
        • 1. 编译redis-7.0.12
        • 2. 编译redis-6.2.13
        • 3. 编译redis-7.2.rc3、redis-7.2-rc2
      • 五、总结

    如果你不想那么麻烦自己编译redis,你可参考我的另一篇文章:
    Windows 下 Redis 安装与配置 教程

    接下来演示如何使用Cygwin工具,编译redis源码,生成适用于Windows的Redis(其中包含编译过程中遇到的问题及解决方案)

    先说结论:
    redis-7.2.0编译后生成的redis-server不可用
    redis-7.0.12、redis-6.2.13 编译后生成的redis-cli、redis-server 经测试均可用

    一、准备Cygwin环境

    Cygwin安装这里就不介绍了,请参考:
    Cygwin 介绍与安装
    Cygwin 配置C/C++编译环境以及如何编译项目

    我本地Cygwin安装的软件包如下,其中 make、gcc-core、gcc-g++、pkg-config、tcl 建议这几个都装上。

    Cygwin 已安装软件包

    找到Cygwin安装目录下的usr\include\dlfcn.h文件,修改如下代码,将#if __GNU_VISIBLE、#endif 这两行注释掉。(使用// 或 /* 被注释代码*/ 方式进行注释)

    //#if __GNU_VISIBLE
    typedef struct Dl_info Dl_info;
    
    struct Dl_info
    {
       
       char        dli_fname[PATH_MAX];  /* Filename of defining object */
       void       *dli_fbase;            /* Load address of that object */
       const char *dli_sname;            /* Name of nearest lower symbol */
       void       *dli_saddr;            /* Exact value of nearest symbol */
    };
    
    extern int dladdr (const void *addr, Dl_info *info);
    //#endif
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    二、下载Redis源码

    redis源码下载地址:redis/redis/releases
    redis源码下载

    如果访问Github较慢,提供如下解决方案:
    作为程序员不得不知道的几款Github加速神器

    三、编译redis-7.2.0

    先编译一个目前的最新版本,试试

  • 相关阅读:
    WZOI-348机动车违章识别系统
    2核4G服务器 如何设计编码一款扛得住高并发高吞吐量的商品秒杀系统
    《分析模式》漫谈10-白头神探
    深入理解JVM虚拟机第十篇:两个Class对象是否来源于一个类文件的标准以及类的主动使用与被动使用
    vue中的深拷贝lodash的用法及解释
    (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
    基于Sklearn机器学习代码实战
    Banana Pi BPI-M6(Raspberry Pi 5 替代品)初始设置及固件烧录
    css div左右布局
    计算机网络概念入门(十一)
  • 原文地址:https://blog.csdn.net/B11050729/article/details/132634966
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号