<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JUST DO IT ~

    我只想當個程序員

    make libevent with openssl on windows

    make libevent with openssl on windows
    build: 
    libevent-2.0.22-stable
    openssl-1.0.2c 
    1.build openssl 
      
    If you want to build openssl In Windows ,  You must install nasm && perl . 
    1)downs lib
       
      https://www.openssl.org/related/binaries.html  
      copy c:\openssl 
     
    2)build lib
    2.1)
       setup  nasm tools .
       http://nasm.sourceforge.net/
       setup perl .
       http://downloads.activestate.com/ActivePerl/releases/5.18.4.1804/ActivePerl-5.18.4.1804-MSWin32-x64-298913.msi
    2.2)  
       perl Configure VC-WIN32 --prefix=c:\openssl
    2.3)
       ms\do_nasm
    2.4)
      nmake -f ms\ntdll.mak
      nmake -f ms\ntdll.mak test
      nmake -f ms\ntdll.mak install
    You can also build a static version of the library using the Makefile
    ms\nt.mak

    readme:  
    https://github.com/openssl/openssl/blob/master/INSTALL.W32

    2.build libevent 

    wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
    tar xvf libevent-2.0.21-stable.tar.gz
    cd libevent-2.0.X-stable
    set OPENSSL_DIR=c:\openssl
    nmake -f makefile.nmake

    but, makefile.nmake haven't support ssl.

    You have 2 choose.

    one :   down   makefile.nmake at  https://github.com/libevent/libevent/blob/master/Makefile.nmake
            you need add  /DWIN32 at CFLAGS 
    two:
     makefile.nmake

    # WATCH OUT!  This makefile is a work in progress.             -*- makefile -*-
    #
    # I'm not very knowledgeable about MSVC and nmake beyond their most basic
    # aspects.  If anything here looks wrong to you, please let me know.
    # If OPENSSL_DIR is not set, builds without OpenSSL support.  If you want
    # OpenSSL support, you can set the OPENSSL_DIR variable to where you
    # installed OpenSSL.  This can be done in the environment:
    #   set OPENSSL_DIR=c:\openssl
    # Or on the nmake command line:
    #   nmake OPENSSL_DIR=C:\openssl -f Makefile.nmake
    # Or by uncommenting the following line here in the makefile...
    # OPENSSL_DIR=c:\openssl
    !IFDEF OPENSSL_DIR
    SSL_CFLAGS=/I$(OPENSSL_DIR)\include /DEVENT__HAVE_OPENSSL
    !ELSE
    SSL_CFLAGS=
    !ENDIF
    # Needed for correctness
    CFLAGS=/IWIN32-Code /IWIN32-Code/nmake /Iinclude /Icompat /DHAVE_CONFIG_H  /DWIN32 /I. $(SSL_CFLAGS)
    # For optimization and warnings
    CFLAGS=$(CFLAGS) /Ox /W3 /wd4996 /MTd /nologo 
    # XXXX have a debug mode
    LIBFLAGS=/nologo
    CORE_OBJS=event.obj buffer.obj bufferevent.obj bufferevent_sock.obj \
    bufferevent_pair.obj listener.obj evmap.obj log.obj evutil.obj \
    strlcpy.obj signal.obj bufferevent_filter.obj evthread.obj \
    bufferevent_ratelim.obj evutil_rand.obj 
    WIN_OBJS=win32select.obj evthread_win32.obj buffer_iocp.obj \
    event_iocp.obj bufferevent_async.obj
    EXTRA_OBJS=event_tagging.obj http.obj evdns.obj evrpc.obj
    !IFDEF OPENSSL_DIR
    SSL_OBJS=bufferevent_openssl.obj
    SSL_LIBS=libevent_openssl.lib
    !ELSE
    SSL_OBJS=
    SSL_LIBS=
    !ENDIF
    ALL_OBJS=$(CORE_OBJS) $(WIN_OBJS) $(EXTRA_OBJS) $(SSL_OBJS)
    STATIC_LIBS=libevent_core.lib libevent_extras.lib libevent.lib $(SSL_LIBS)
    all: static_libs tests
    static_libs: $(STATIC_LIBS)
    libevent_core.lib: $(CORE_OBJS) $(WIN_OBJS)
    lib $(LIBFLAGS) $(CORE_OBJS) $(WIN_OBJS) /out:libevent_core.lib 
    libevent_extras.lib: $(EXTRA_OBJS)
    lib $(LIBFLAGS) $(EXTRA_OBJS) /out:libevent_extras.lib
    libevent.lib: $(CORE_OBJS) $(WIN_OBJS) $(EXTRA_OBJS)
    lib $(LIBFLAGS) $(CORE_OBJS) $(EXTRA_OBJS) $(WIN_OBJS) /out:libevent.lib
    libevent_openssl.lib: $(SSL_OBJS)
    lib $(LIBFLAGS) $(SSL_OBJS) /out:libevent_openssl.lib
    clean:
    del $(ALL_OBJS)
    del $(STATIC_LIBS)
    tests:
    !IFDEF OPENSSL_DIR
     
    !ELSE
     
    !ENDIF
     
    ----------------------------------------------------------------
    c:\openssl>tree
    C:.
    ├─bin
    ├─include
    │  └─openssl
    ├─lib
    │  └─engines
    └─ssl
    c:\openssl>
    提示找不到 unsigned long bufferevent_get_openssl_error(struct bufferevent *bev);
    這方法,是要打開一個宏定義.
    #define _EVENT_HAVE_OPENSSL
    #include <event2/bufferevent_ssl.h>
    windows下編譯及使用libevent
    http://www.cnblogs.com/luxiaoxun/p/3603399.html
    ln -s  /usr/local/ssl/include/openssl    /usr/include/openssl  
    重新make就過去了
    I cannot use VC build   openssl-1.0.2c , must be nasm tools .
    libeay32.lib(cryptlib.obj) : error LNK2019: 無法解析的外部符號 _OPENSSL_ia32_cpu
    id,該符號在函數 _OPENSSL_cpuid_setup 中被引用
    libeay32.lib(sha1dgst.obj) : error LNK2019: 無法解析的外部符號 _sha1_block_data_
    order,該符號在函數 _SHA1_Update 中被引用
    libeay32.lib(sha256.obj) : error LNK2019: 無法解析的外部符號 _sha256_block_data_
    order,該符號在函數 _SHA256_Update 中被引用
    libeay32.lib(sha512.obj) : error LNK2019: 無法解析的外部符號 _sha512_block_data_
    order,該符號在函數 _SHA512_Final 中被引用
    libeay32.lib(md5_dgst.obj) : error LNK2019: 無法解析的外部符號 _md5_block_asm_da
    ta_order,該符號在函數 _MD5_Update 中被引用
    out32\md4test.exe : fatal error LNK1120: 6 個無法解析的外部命令
    NMAKE : fatal error U1077: “"c:\Program Files (x86)\Microsoft Visual Studio 10.
    0\VC\BIN\link.EXE"”: 返回代碼“0x460”
    Stop.
    bufferevent_openssl.c
    Microsoft (R) 程序維護實用工具 10.00.30319.01 版
    版權所有(C) Microsoft Corporation。保留所有權利。
            cl /IWIN32-Code /Iinclude /Icompat /DWIN32 /DHAVE_CONFIG_H /I. /Ox /W3 /
    wd4996 /nologo /MT /c bufferevent_openssl.c
    bufferevent_openssl.c
    bufferevent_openssl.c(60) : fatal error C1083: 無法打開包括文件:“openssl/bio.h
    ”: No such file or directory
    NMAKE : fatal error U1077: “"c:\Program Files (x86)\Microsoft Visual Studio 10.
    0\VC\BIN\cl.EXE"”: 返回代碼“0x2”
    Stop.
    ftp://sourceware.org/pub/pthreads-win32/dll-latest
    http://www.aerospike.com/docs/client/libevent/build/windows.html
    Download pthread include, lib and dll folder from : ftp://sourceware.org/pub/pthreads-win32/dll-latest
    國外一個類似memcache產品 openssl+ libevent 客戶端
    http://www.aerospike.com/docs/client/libevent/build/windows.html

    構建靜態庫:
    http://developer.covenanteyes.com/building-openssl-for-visual-studio/

    Linux 匯編器:對比 GAS 和 NASM
    http://www.ibm.com/developerworks/cn/linux/l-gas-nasm.html

    posted on 2015-07-01 10:36 小高 閱讀(2588) 評論(0)  編輯  收藏 所屬分類: CNetwork| Socket | 進程間通訊工作環境搭建

    導航

    <2015年7月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    統計

    常用鏈接

    留言簿(3)

    隨筆分類(352)

    收藏夾(19)

    關注的blog

    手冊

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲五月激情综合图片区| 你懂的免费在线观看网站| 两个人的视频高清在线观看免费 | 三年片在线观看免费大全| 亚洲AV综合色区无码一区| 亚洲一区二区视频在线观看| 日韩在线观看免费完整版视频| 日韩视频免费在线| 最新亚洲人成无码网www电影| 免费国产a国产片高清网站| 黄色免费在线观看网址| 国产福利电影一区二区三区,亚洲国模精品一区| 特级无码毛片免费视频| 免费人成在线视频| 亚洲成在人线aⅴ免费毛片| 免费欧洲美女牲交视频| av午夜福利一片免费看久久| 日本亚洲视频在线| 亚洲免费视频播放| 久久综合亚洲色hezyo| 亚洲综合区小说区激情区| 国产成人精品免费久久久久| 亚洲精品在线免费观看| 日韩成人免费aa在线看| caoporm超免费公开视频| 午夜亚洲AV日韩AV无码大全| 日韩一区二区a片免费观看| 美女被免费视频网站a| 亚洲国产精品乱码一区二区| 欧洲乱码伦视频免费| 男人j进女人p免费视频| 亚洲人成电影亚洲人成9999网| 欧洲精品成人免费视频在线观看| 美女露隐私全部免费直播| 亚洲avav天堂av在线不卡| 色吊丝永久在线观看最新免费| aa级女人大片喷水视频免费| 亚洲午夜国产精品无卡| 亚洲免费日韩无码系列| 思思re热免费精品视频66| 一区二区三区视频免费|