Windows下編譯memcached-1.4.5(32bit和64bit) .

來源:互聯網
上載者:User

 

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

 

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位系統上執行可能會報如下錯誤。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.