2012-01-26 16 views
0

私はthis libevent2 packageをWindowsにコンパイルしようとしていますが、configureスクリプトはシェルスクリプト(/ bin/sh; Windowsでは実行できません)であるため、現在できません。Windowsでlibevent2をコンパイルするには?

私はそれをコンパイルする方法や、コンパイル済みのパッケージを入手する方法はありますか?私は現在、MinGW、CMake、MS C++をインストールしています。

EDIT:私はMakefile.nmake NMAKE を使用してlibevent2コンパイルするために管理しているが、それは任意のWindowsバイナリ/ライブラリを作成していません。 .libのみ。次のように

メイクファイルがある -

# WATCH OUT! This makefile is a work in progress. It is probably missing 
# tons of important things. DO NOT RELY ON IT TO BUILD A GOOD LIBEVENT. 

# Needed for correctness 
CFLAGS=/IWIN32-Code /Iinclude /Icompat /DWIN32 /DHAVE_CONFIG_H /I. 

# For optimization and warnings 
CFLAGS=$(CFLAGS) /Ox /W3 /wd4996 /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 

ALL_OBJS=$(CORE_OBJS) $(WIN_OBJS) $(EXTRA_OBJS) 
STATIC_LIBS=libevent_core.lib libevent_extras.lib libevent.lib 


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 

clean: 
    del $(ALL_OBJS) 
    del $(STATIC_LIBS) 
    cd test 
    $(MAKE) /F Makefile.nmake clean 

tests: 
    cd test 
    $(MAKE) /F Makefile.nmake 

答えて

3

の.libファイルは、Windowsのバイナリファイルです。これは静的ライブラリファイルであり、ライブラリ内の静的リンク(つまり「面白い」という言い方では「使用」)のためにアプリケーションのリンカによって使用されます。

libevent2はプログラムではないので、大きな.dll +小さな.lib(動的リンク用)または大きな.lib(静的リンク用)のいずれかになります。

+0

おかげさまで、私は.libファイルをコンパイルすることができましたが、ライブラリであることはわかりませんでした – liamzebedee

0

Cygwinを使用してコンパイルします。それはLinuxエミュレーションのようなものです。

関連する問題