背景
今日看到公众号一篇推文,Redis 3.0 源码注释。于是决定在windows平台编译一下redis。历尽千辛万苦终于编译成功,记录一下过程,防止大家踩坑。
准备
一、安装msys2
- 安装msys2完毕后,需要安装相关依赖
#打开msys2 msys终端后安装下方依赖
pacman -Sy gcc make pkg-config
- 定位到C:\msys64\usr\include\usr\include\dlfcn.h头文件 ,注释或删除掉 宏判定
#if __GNU_VISIBLE (49行)
#endif (61行)
二、下载redis源码
编译
编译deps目录下的依赖
make hiredis && make lua && make hdr_histogram && make fpconv
注意:编译hiredis时,需要修改sds.c文件中的875行的hi_sdscatrepr方法,将入参由const char *p改为 const unsigned char *p。同样的方法修改sds.h文件中的方法定义。
hisds hi_sdscatrepr(hisds s, const unsigned char *p, size_t len)
根目录执行编译并安装
make PREFIX=/d/code/c++/redis-7.2.4/dist install
复制相关文件到dist目录
msys-2.0.dll 位于 c:\msys64\usr\bin
redis.conf 位于 redis源码文件夹,d:\redis\redis-7.2.4
sentinel.conf 位于 redis 源码文件夹,d:\redis\redis-7.2.4
复制以上三个文件到我们的 \dist\bin 文件夹下即可
运行程序
redis-server.exe redis.conf
参考资料: