Building Redis for use on Cygwin(轉)

This is the second time I have installed Redis for use on Cygwin in the last several months. It seems that each time the version numbers change, I step in a different hole. For those of you using Cygwin (DLL version 1.7.17-1) and Redis version 2.6.9, I hope to share my experience with you so that you can save some time.git

First, make sure that you have the 「make」 and 「gcc」 Cygwin packages installed. Then, open up a Cygwin terminal window and then download and extract Redis using the following commands:github

?
1
2
3
4
$ wget http: //redis .googlecode.com /files/redis-2 .6.9. tar .gz
$ tar xzf redis-2.6.9. tar .gz
$ cd redis-2.6.9
$ cd src

Then, within the src directory, add the following to the redis.h file:web

?
1
2
3
4
5
6
7
8
9
#ifdef __CYGWIN__
#ifndef SA_ONSTACK
#define SA_ONSTACK 0x08000000
#endif
#endif
  
#if defined(__CYGWIN__)
#define strtold(a,b)    ((long double)strtod((a),(b)))
#endif

I added the code above right before the 「Data types」 comment (Before line 312). The first five lines resolve the`SA_ONSTACK' undeclared error originally identified here. If you were to run make with this solution only, you would bump into the next error: undefined reference to `_strtold'. The last three lines address this error.redis

Ignoring warnings, make will generate the following executables in the src directory:bash

  • redis-benchmark.exe
  • redis-check-aof.exe
  • redis-check-dump.exe
  • redis-cli.exe
  • redis-sentinel.exe
  • redis-server.exe

Copy these files into Cygwin’s bin directory. To quickly test that Redis works, type in redis-server to start Redis with default options. In another Cygwin terminal window, start the Redis command line interface by typing redis-cli. At the prompt, simply type 「ping「. If Redis is up and running, it should simply reply with 「PONG「.ide

Enjoy!ui

http://blog.joshuawhite.com/open-source/building-redis-for-use-on-cygwin/this

相關文章
相關標籤/搜索