Windows下编译memcached-1.4.5(32bit和64bit)
1.简介
Memcached 是一个高性能的分布式内存对象缓存系统。它通过将数据缓存在内存中来减少对数据库和文件系统的访问,减轻数据库及操作系统的负担,提高应用系统的速度。
目前已经很多系统应用了memcached,其最新版本为memcached-1.4.5。随着硬件技术的不断提升,应用高性能服务器的场合越来越多,特别是64位系统。另外memcached是可跨平台的,这就需要我们经常会在32与64位系统,各种操作系统下编译memcached。
Memcached官方网站是http://www.memcached.org/。大家下载的最新稳定版memcached-1.4.5可以在LINUX和UNIX下顺利编译。如何在Windows下编译会导致很多人疑惑。
本文介绍如何在Windows系统下编译memcached-1.4.5,供同行参考。
2.编译目标和环境
目标:编译能在Intel� Xeon X7560/Windows Server Enterprise 2008 SP2(64bit) 系统下运行的memcached-1.4.5.exe
使用计算机和软件列表:
编译机:PC/Windows Server 2003 Enterprise Edition SP2(32bit)
编译器:64位gcc编译器
编译平台:msys/ mingw-w64
3.软件下载准备
msys:
下载MSYS-1.0.11.exe
下载地址:http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe
mingw-w64:
下载:mingw-w64-bin_i686-mingw_20110516.zip
下载地址 http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Automated%20Builds/
注:这里下载的是64位的gcc编译包,如果要编译32位平台请下载mingw-w32-bin_i686-mingw_20110516.zip。另外要说明的是MinGW64和MinGW开源项目并不是一个项目,前者是一个新项目,旨在把MinGW迁移到64位平台下。
memcached-1.4.5:
下载我修改后的memcached-1.4.5的包。其中包含memcached-1.4.5、libevent-2.0.11-stable、pthreads-w32-2-8-0-release(时间匆忙,没下载到64位的pthreads,大家如果下载到,可以稍微修改下替换压缩包里面的pthreads-w32-2-8-0-release)代码。
下载地址:http://download.csdn.net/source/3291154
已编译好的可执行文件:http://download.csdn.net/detail/flxyzsby/3941243
4.安装编译环境
(1)安装MSYS-1.0.11.exe
MSYS,即Minimal GNU(POSIX)system on Windows,是一个小型的GNU环境,包括基本的bash,make等等。是Windows下最优秀的GNU环境。
安装完之后,在菜单和C盘下可以分别看到
此时,从菜单打开MSYS打开或者直接打开msys.bat可以看到如下运行界面
执行gcc –v,出现无法找到命令,因为我们还未安装gcc编译器。
(2)配置参数
打开文件夹C:/msys/1.0/etc,找到fstab文件,如果没有,可以将fstab.sample重命名为fstab。找到行
c:/mingw
/mingw
修改为
c:/msys/1.0/mingw/
/mingw
如果已经是修改后的设置,则不要动。
(3)安装编译环境
解压缩mingw-w64-bin_i686-mingw_20110516.zip
拷贝其中的所有文件夹
bin
include
lib
libexec
mingw
share
x86_64-w64-mingw32
拷贝到C:/msys/1.0/mingw
然后将C:/msys/1.0/mingw/mingw下所有文件夹拷贝C:/msys/1.0/mingw,选择覆盖。
此时打开MSYS控制台
输入gcc –v,会显示如下信息
$ gcc -v
Using built-in specs.
COLLECT_GCC=C:/msys/1.0/mingw/bin/gcc.exe
COLLECT_LTO_WRAPPER=c:/msys/1.0/mingw/bin/../libexec
0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../build/gcc/src/configure --
prefix=/c/bb/vista64-mingw32/mingw-x86-x86_64/build/
/bb/vista64-mingw32/mingw-x86-x86_64/build/build/roo
-c++ --enable-fully-dynamic-string --disable-multili
Thread model: win32
gcc version 4.7.0 20110516 (experimental) (GCC)
从中我们看到,gcc编译的目标目标平台为x86_64-w64,即64位系统。
5.编译memcached-1.4.5
(1)将下载的memcached_1.4.5_win解压缩到C:/msys/1.0/memcached目录下
(2)打开msys控制台切换到C:/msys/1.0/memcached目录下,执行./
build.sh
(3)执行./
build.sh后,进行编译。编译完成后,会bin目下看到编译后的结果。
memcached-1.4.5.exe是一个完整可执行文件,不需要任何库文件(为了方便已经将库文件等集成到exe中)。将你的成果放到Windows
Server Enterprise 2008 SP2(64bit)看看效果即可。因为目标系统是64位,所以在32位系统上执行可能会报如下错误。
时间有限,写的比较匆忙,如果有问题,可以联系我。
Windows下编译memcached-1.4.5(32bit和64bit)的更多相关文章
- 07 在Windows下编译Memcached
一:windows下编译Memcached (1)下载地址dll:http://down.51cto.com/data/442606 (2)在php下输出 echo phpinfo():查看php的版 ...
- [转] Windows下编译OpenSSL
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...
- Windows下编译objective-C
Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode 目录 ...
- 在Windows下编译FFmpeg详细说明
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...
- 如何在WINDOWS下编译BOOST C++库 .
如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25 写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0. 1)下载boost ...
- 在Windows下编译OpenSSL(VS2005和VC6)
需要说明的是请一定安装openssl-0.9.8a . openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...
- windows下编译java源文件的编码错误
import java.util.Arrays;public class ArrayAsAReference{ public static void main(String[] args) { int ...
- Windows下编译SDL
Windows下编译SDL的理由我就不多说了,无论用VS来编译或调试SDL库都是很方便的.而且SDL源代码中也包含了VC工程,你所要做的只是解压VC工程,进行适当的配置,然后编译.调试. 编译SDL大 ...
- Windows 下安装 Memcached
Windows 下安装 Memcached 官网上并未提供 Memcached 的 Windows 平台安装包,我们可以使用以下链接来下载,你需要根据自己的系统平台及需要的版本号点击对应的链接下载即可 ...
随机推荐
- N的阶乘末尾有多少个0
N的阶乘(N!)中的末尾有多少个0? N的阶乘可以分解为: 2的X次方,3的Y次方,4的5次Z方,.....的成绩.由于10 = 2 * 5,所以M只能和X和Z有关,每一对2和5相乘就可以得到一个10 ...
- LoadRunner 11简单使用
LoadRunner 11简单使用 开始菜单-->HP LoadRunner-->applications--->virtual user Generator 1>新建--&g ...
- hdoj2037 今年暑假不AC(贪心)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2037 思路 想要看的节目尽可能的多,则首先要将节目按照结束时间从早到晚排序,因为一个节目越早结束,留给 ...
- Ionic Js一:上拉菜单(ActionSheet)
上拉菜单(ActionSheet)通过往上弹出的框,来让用户选择选项. 非常危险的选项会以高亮的红色来让人第一时间识别.你可以通过点击取消按钮或者点击空白的地方来让它消失. HTML 代码 <b ...
- mysql关于数据库表的水平拆分和垂直拆分
最初知道水平垂直分表的时候是刚参加工作不久的时候,知道了这个概念,但是公司用户量和数据量始终没上来,所以也没用到过,知道有一天到了一家新公司后,这些才被应用到实际开发中,这里我就大概说说关于水平和垂直 ...
- 洛谷P2671 求和 [数论]
题目传送门 求和 格式难调,题面就不放了. 分析: $ZYYS$的一道题. 很显然是大力推公式.我们分析一下题目,实际上限制条件就是:下标同奇偶且颜色相同的数,那么我们先拿这个公式$(x+z)*(nu ...
- button元素的id与onclick的函数名字相同 导致方法失效的问题
需求需要在原先页面添加一个按钮,触发一个function,如此简单的操作,却无意间发现了一个问题.(还是对html了解的太少) 先看下在菜鸟教程的示例(错误代码) <!DOCTYPE html& ...
- Java中的Runnable、Callable、Future、FutureTask的区别
本文转载自:http://blog.csdn.net/bboyfeiyu/article/details/24851847 Runnable 其中Runnable应该是我们最熟悉的接口,它只有一个ru ...
- 【BZOJ】4720: [Noip2016]换教室
4720: [Noip2016]换教室 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 1690 Solved: 979[Submit][Status ...
- ZOJ 1940 Dungeon Master 三维BFS
Dungeon Master Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Desc ...