如果是在windows环境下编译安装,我这边是基于cygwin或msys2方式

安装cygwin环境,http://www.cnblogs.com/skey_chen/p/5765179.html

安装msys2环境,http://www.cnblogs.com/skey_chen/p/5765675.html

接下来和linux上安装编译一样

如果是在linux环境安装memcached的话,直接忽略上面的内容即可

如果是centos6.8或7.2.1511版本,也可以考虑直接下载使用:http://www.cnblogs.com/skey_chen/p/5749164.html

如果需要在windows下使用,也可直接下载下面将会说到的windows版本

windows_x86_32:

memcached-win32-1.4.29-cygwin2.5.2.zipmemcached-win32-1.4.29-msys2.0.zip

windows_x86_64:

memcached-win64-1.4.29-cygwin2.5.2.zipmemcached-win64-1.4.29-msys2.0.zip

也提供另一个网上的版本,轻巧无依赖,并可直接通过memcached -d install直接安装到windows服务:

memcached-win32-1.4.4-14.zipmemcached-win64-1.4.4-14.zip

memcached依赖libevent

本文使用版本为:

libevent-2.0.22-stable.tar.gz

相关下载:http://downloads.sourceforge.net/levent/libevent-2.0.22-stable.tar.gz

memcached-1.4.29.tar.gz

相关下载:http://memcached.org/files/memcached-1.4.29.tar.gz

开始源码编译

1、先编译安装libevent

tar zxvf libevent-2.0.22-stable.tar.gz -C /usr/local/src
cd /usr/local/src/libevent-2.0.22-stable
./configure --prefix=/usr/local/libevent
make && make install

在这里,我们可以看到生成了以下一些库(so或dll)

libevent_core:核心的事件和缓冲功能
libevent_extra:定义协议特定功能,包括HTTP、DNS和RPC。不确认是不是真的要用
libevent:网上说不要使用这个库,历史原因而存在,包含libevent_core和libevent_extra的内容,但实际在windows环境中运行时,使用的就是它
libevent_pthreads:添加基于pthread可移植线程库的线程和锁定实现。它独立于libevent_core

2、编译memcached

tar -zxvf memcached-1.4.29.tar.gz -C /usr/local/src
cd /usr/local/src/memcached-1.4.29
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent

3、配置及安装memcached

如果是linux安装,则直接在第2步的基础上直接运行,如果是cygwin或msys2方式,直接make是会失败的,需要修改Makefile文件

打开/usr/local/src/memcached-1.4.29/Makefile

找到找到CFLAGS = -g -02...这一行,搜索下CFLAGS

删除CFLAGS后面带的一个参数:-Werror

保存后即可继续操作

make
make install

4、如果不是cygwin或msys2环境,上面已经完成所有工作了

可以看到/usr/local/libevent/bin下有四个dll,对应上面提到的四个库文件,只需要其中一个

目录/usr/local/memcached/bin下只有一个memcached.exe文件

如果是cygwin环境,我们复制三或四个文件

/usr/local/libevent/bin/cygevent-2-0-5.dll

/usr/local/memcached/bin/memcached.exe

/bin/cygwin1.dll

/bin/cyggcc_s-1.dll (32位cygwin环境才需要这个)

如果是msys2环境,我们复制三个文件

/usr/local/libevent/bin/libevent-2-0-5.dll (32位msys2环境没有这个文件生成)

/usr/local/memcached/bin/memcached.exe

/usr/bin/msys-2.0.dll

/bin/msys-gcc_s-1.dll (32位msys2环境才需要这个)

memcached源码安装(linux和windows)的更多相关文章

  1. MYSQL5.5源码安装 linux下

    /* 首先安装必要的库 */ yum -y install gcc* ###### 安装 MYSQL ###### 首先安装camke 一.支持YUM,则 yum install -y cmake 二 ...

  2. Git源码安装 Linux指定安装目录

    1.安装依赖包 $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 2.下载最新版源码包https: ...

  3. 【ImageMagick】Unix Windows 源码安装

    [ Unix 源码安装 | Windows 源码安装 ] 首先检查一下电脑里已经安装的ImageMagick版本,输入:   convert -version 除非你想要把对另外的图像格式的支持或升级 ...

  4. Linux 源码安装 FFmpeg

    加班次数频繁,已经快一年没有写博了.由于此次在项目中使用到了 FFmpeg 来处理音视频,顾记录下在 Linux 系统中源码安装 FFmpeg 以便不时之需. 1. 安装 yasm yasm 是一个汇 ...

  5. CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境【转载】

    本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.h ...

  6. Linux软件安装管理---源码安装

    在Linux平台下,软件包的类型可以划分为两类:源码包.二进制包. 源码包: 即程序软件的源代码(一般也叫Tarball,即将软件的源码以tar打包后再压缩的资源包). 二进制包: 如 Red Hat ...

  7. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

  8. Linux MySQL源码安装缺少ncurses-devel包

    在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and ...

  9. linux(centos)源码安装git

    最近使用一个开源库,部署的的时候需要用git克隆依赖库.刚好系统没安装git.就尝试了源码安装git. 源码下载地址:http://codemonkey.org.uk/projects/git-sna ...

随机推荐

  1. Python之路-jQuery

    参考网址:http://jquery.cuishifeng.cn/ 1.安装环境 2.查找元素 3.操作元素 一.安装环境: 1.我们需要去官网下载jQuery,地址:http://jquery.co ...

  2. magento目录结构说明,Magento文件夹结构说明,Magento folder structure

    /app – 程序根目录     /app/etc – 全局配置文件目录     /app/code – 所有模块安装其模型和控制器的目录     /app/code/core – 核心代码或经过认证 ...

  3. ubuntu安装libxml2--PC端

    莫名其妙的安装了libxml2,其实电脑本身就有的,不知道有木有影响 具体安装步骤:1.解压:$tar zxvf  libxml2-2.9.4.tar.gz  //解压在了/home/newday/下 ...

  4. ADO.NET、NHibernate和Entity Framework的比较

    ---原文地址:http://www.xuebuyuan.com/2162973.html 1,ADO.NET属于传统的数据访问工具,开发的时候需要我们手动去编写操作数据库的各种操作,当然性能也就不用 ...

  5. kali 更改root密码

    sudo root passwd root 然后输入两次密码即可

  6. debian bcm43* 无线网卡驱动

    deb http://httpredir.debian.org/debian/ jessie main contrib non-free # apt-get update# apt-get insta ...

  7. 浅谈Java中的引用

    在Java语言中,引用是指,某一个数据,代表的是另外一块内存的的起始地址,那么我们就称这个数据为引用. 在JVM中,GC回收的大致准则,是认定如果不能从根节点,根据引用的不断传递,最终指向到一块内存区 ...

  8. Coursera台大机器学习课程笔记6 -- The VC Dimension

    本章的思路在于揭示VC Dimension的意义,简单来说就是假设的自由度,或者假设包含的feature vector的个数(一般情况下),同时进一步说明了Dvc和,Eout,Ein以及Model C ...

  9. 图像开发的p2s模式:halcon+opencv的联动

    [<zw版·Halcon与delphi系列原创教程> 图像开发的p2s模式:halcon+opencv的联动 尽管halcon功能强大,基本上cv只是halcon的一个子集,不过cv毕竟是 ...

  10. (四)SQL入门 数据库的操作与事务管理

    数据库的操作,有三个最基本的语句,insert插入,update修改,delete删除. 不同的数据库厂商的实现可能不同,所以就不说具体的语法怎么写的了.说语法也没有意义,到处都可以复制粘贴,记得听某 ...