文档章节

cygwin64 编译 redis2.8.3源码

testwork
 testwork
发布于 2016/04/29 10:20
字数 219
阅读 53
收藏 1

1) windows 7 64 

2) 安装 cygwin 64 下载相关的库

3) 下载redis 2.8.3源码

    wget http://download.redis.io/releases/redis-2.8.3.tar.gz

    进入到deps目录,修改文件 deps/hiredis/fmacros.h 

#ifndef __HIREDIS_FMACRO_H
#define __HIREDIS_FMACRO_H

#if !defined(_BSD_SOURCE)
#define _BSD_SOURCE
#endif

#if defined(__sun__)
#define _POSIX_C_SOURCE 200112L
#elif defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__)
#define _XOPEN_SOURCE 600
#else
#define _XOPEN_SOURCE
#endif

//这是添加的.
#if defined(__linux__) || defined(__CYGWIN__)
#define _GNU_SOURCE
#define _DEFAULT_SOURCE
#endif


#endif

然后编译deps

cd deps 

make lua linenoise hiredis

4) 编译整体代码

  先修改代码

  A)  redis2.8.3/src/fmacros.h 

  第35行

#if defined(__linux__) 
#define _GNU_SOURCE
#define _DEFAULT_SOURCE
#endif

修改为

#if defined(__linux__)  || defined(__CYGWIN__)
#define _GNU_SOURCE
#define _DEFAULT_SOURCE
#endif

  B) redis2.8.3/src/sds.h

  添加修改

#ifdef __CYGWIN__
#define TCP_KEEPCNT 8
#define TCP_KEEPINTVL 150
#define TCP_KEEPIDLE 14400
#endif

修改 redis2.8.3/src/Makefile

找到  -rdynamic 64行左右

FINAL_LDFLAGS+= -rdynamic

前面使用#注释

#FINAL_LDFLAGS+= -rdynamic

然后在redis2.8.3/目录下执行make

编译之后的exe在src/*.exe


© 著作权归作者所有

testwork
粉丝 4
博文 74
码字总数 21048
作品 0
崇明
程序员
私信 提问
从 mingw32 转移到 cygwin 然后放弃 cygwin 采用 msys2

mingw32 以及自带的 msys 用着挺舒服的。但是好久都没有更新了,gcc 编译器还是 4.x 。上次编译 assimp 不过,错误消息是 obj 文件太大。搜索了一下还是决定用新版本的 gcc 。而且现在都是用...

iiRecord
2016/11/30
156
0
一键完成Python开发环境搭建: Cygwin+Vim

准备工作 首先安装Cygwin, 安装很简单, 下载32位或者64位可执行文件。双击使用默认设置安装即可, 注意在源的选择时, 可以选择科大源:, 比较快。为了方便下面安装包管理器, 我们在首次安装时...

破旧的大卡车
2017/11/03
0
0
window7下 cocos2dx android交叉编译环境部署小结

  上周被android交叉编译搞惨了,还好最后弄好了,写个小结以后备用吧。   步骤,1、下载cygwin的devel和shells模块 2、      2、设置环境变量       a、设置NDK_ROOT    ...

cxycappuccino
2014/04/28
0
0
怎么用eclipse运行C和C++的程序

首先,上http://www.eclipse.org/downloads/官网下载个“Eclipse IDE for C/C++ Developers”这个专门为编译运行C和C++版本的eclipse,下载完成后直接解压就行,无需安装。到这一步我们还未算...

陨落的星石
2013/11/02
1K
0
win下eclipse+yougatoo+cygwin+jlink交叉编译环境搭建

一 工具的安装 1 安装交叉编译工具 这里选用yagarto( yagarto-bu-2.21gcc-4.6.2-c-c++nl-1.19.0gdb-7.3.1eabi_20111119.exe). 安装完毕之后将bin路径添加到系统环境变量Path中, 如: C:yagar...

季风_落地窗
2014/03/18
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

反编译9.png图片还原

本文链接:https://blog.csdn.net/a1140778530/article/details/10528507 经常反编译apk文件找资源,9.png的文件处理起来很麻烦。 最近使用Ant自动编译打包app时,从别处搜罗来的9.png文件导...

shzwork
9分钟前
2
0
Shell脚本应用 – for、while循环语句

一、for循环语句 在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他命令相同。例如:根据通讯录中的姓名列表创建系统账号等情况。 当面对各种...

linux-tao
10分钟前
2
0
RPA风潮下企业财务工作模式的变革

RPA(机器人流程自动化)在财务领域的应用,正给企业财务带来前所未有的改变。 前RPA时代,财务领域面临的痛点 在RPA机器人应用之前,企业财务工作进程的推进,主要通过财务人员人工操作或信...

UiBot
14分钟前
3
0
Hive之命令行修改表注释

最近遇到一个需求,在不重建表的情况下,修改表的注释,hive有没有类似关系型数据库的SQL命令来修改呢,找了下,亲测有效,如下List-1 List-1 hive>use your_schemahvie>ALTER TABLE tabl...

克虏伯
15分钟前
3
0
是什么,它的作用是什么

在HTML文档的首部往往会有这么一句话<!DOCTYPE html>,许多时候我们忽视了它的存在,它实际上是一个声明,告诉浏览器用哪种HTML版本的规范来解读HTML文档。 尽管我们不给出这句声明浏览器照样...

前端老手
21分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部