如何使用Cygwin编译最新版的Redis源码,生成适用于Windows的Redis

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

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

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

一、准备Cygwin环境

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

我本地Cygwin安装的软件包如下,其中 makegcc-coregcc-g++pkg-configtcl 建议这几个都装上。

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

二、下载Redis源码

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

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

三、编译redis-7.2.0

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

1. 执行make命令

redis-7.2.0项目根目录,执行make命令
比如我redis解压后的地址: d:/test/redis-7.2.0

Administrator@GC ~
$ cd d:/test/redis-7.2.0

Administrator@GC /cygdrive/d/test/redis-7.2.0
$ make

当然一般没那么顺利,看报错:

MAKE hiredis
cd hiredis && make static
make[3]: Entering directory '/cygdrive/d/test/redis-7.2.0/deps/hiredis'
cc -std&
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小青龍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值