一、msys 编译工具
(一)、下载
https://repo.msys2.org/distrib/
选择版本为tar.xz结尾的
msys2-x86_64-latest.tar.xz 27-Jul-2024 13:17 47M
(二)、镜像设置
解压msys2-x86_64-latest.tar.xz ,打开mingw64.exe
bash
sed -i "s#https\?://mirror.msys2.org/#https://mirrors.tuna.tsinghua.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
(三)、msys2包安装
-
同步
pacman --Syu
-
安装GCC和Make
pacman -S gcc make
二、redis
(一)、下载
-
下载地址
历史版本
(二)、redis6.0.9 编译
- 启动MSYS2 ,先进入解压路径G:\soft\redis-6.0.9 。
bash
cd /g/soft/redis-6.0.9
make PREFIX=/g/soft/redis-6.0.9 install
-
将MSYS2目录下usr/bin目录下的"msys-2.0.dll"文件复制到Redis生成目录的bin路径中
-
再将Redis源代码路径下redis.conf文件(Redis配置文件的示例)复制到Redis安装路径的bin目录
(三)、redis启动
-
将Redis的bin目录添加到系统的PATH环境变量中
-
CLI工具 redis-cli.exe -a 32147
-
redis-server.exe
(四)、redis-7.0.1 编译
redis6.0.9 编译不同点
- 先 安装 gcc make pkg-config
pacman -Sy gcc make pkg-config
- 修改G:\soft\msys64\usr\include 路径下的 dlfcn.h
/*#if __GNU_VISIBLE */
/* #endif */ 删除或者是注解掉,修改方式如下
bash
/*#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 */
- 其他步骤跟redis6.0.9 一致