lia*_*dee 1 c c++ windows cmake libevent
我试图将这个libevent2包编译到Windows,但目前我不能,因为configure脚本是一个shell脚本(/ bin/sh;不能在Windows中运行).
有什么方法可以编译它或获得预编译的包吗?我目前安装了MinGW,CMake和MS C++.
编辑:我已经设法使用nmake Makefile.nmake编译libevent2 但它没有生成任何Windows二进制文件/库.只有.lib.
makefile如下 -
# 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
Run Code Online (Sandbox Code Playgroud)
.lib文件是 Windows二进制文件.它是一个静态库文件,并由应用程序中的链接器用于静态链接(即在外行术语中使用)库.
由于libevent2不是一个程序,你不会得到一个.exe输出 - 它将是一个大的.dll +小.lib(用于动态链接)或一个大的.lib(用于静态链接).
| 归档时间: |
|
| 查看次数: |
2786 次 |
| 最近记录: |