Windows下编译memcached-1.4.5(32bit和64bit)

本文详细介绍了如何在Windows系统下编译memcached-1.4.5,提供了解决在不同平台下编译memcached的问题,并附带了必要的软件下载链接。

Windows下编译memcached-1.4.5(32bit和64bit) 收藏

作者:徐兆元( FLxyzsby@163.com

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.youkuaiyun.com/source/3291154

 

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 位系统上执行可能会报如下错误。

 

时间有限,写的比较匆忙,如果有问题,可以联系我。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值