您的位置:首页 > 其它

libevent-2.0.22-stable在windows环境下使用mingw编译

2016-05-21 00:00 417 查看
摘要: libevent-2.0.22-stable在windows环境下使用mingw编译

(0)环境

操作系统:WIN7 SP1 x64

mingw:gcc version 4.9.2 (i686-posix-dwarf-rev1, Built by MinGW-W64 project)

libevent:libevent-2.0.22-stable

(1)修改配置文件

修改libevent源码目录下的WIN32-Code/event2/event-config.h文件,添加#define _EVENT_HAVE_STRTOK_R 1

(2)创建Makefile文件

在libevent源码目录下新建文件Makefile.mingw,内容如下(注意需要按照Makefile的格式自己处理一下空格和Tab缩进):

[code=plain]SRCS = $(wildcard *.c)
OBJS = $(patsubst %.c, %.o, $(SRCS))
CFLAGS = -Wall -c
INCLUDES = -I. -I./include -I./WIN32-Code -I./compat
CC = gcc
AR = ar
CORE_OBJS=event.o buffer.o bufferevent.o bufferevent_sock.o \
bufferevent_pair.o listener.o evmap.o log.o evutil.o \
strlcpy.o signal.o bufferevent_filter.o evthread.o \
bufferevent_ratelim.o evutil_rand.o
WIN_OBJS=win32select.o evthread_win32.o buffer_iocp.o \
event_iocp.o bufferevent_async.o
EXTRA_OBJS=event_tagging.o http.o evdns.o evrpc.o
STATIC_LIBS=libevent_core.a libevent_extras.a libevent.a

all:$(STATIC_LIBS)

%.o:%.c
$(CC) $(CFLAGS) $(INCLUDES) "$<" -o "$@"

libevent_core.a:$(CORE_OBJS) $(WIN_OBJS)
$(AR) crv libevent_core.a $(CORE_OBJS) $(WIN_OBJS)

libevent_extras.a:$(EXTRA_OBJS)
$(AR) crv libevent_extras.a $(EXTRA_OBJS)

libevent.a:$(CORE_OBJS) $(EXTRA_OBJS) $(WIN_OBJS)
$(AR) crv libevent.a $(CORE_OBJS) $(EXTRA_OBJS) $(WIN_OBJS)

clean:
del /Q /F *.o
del /Q /F *.a

(3)编译

使用命令mingw32-make -f Makefile.mingw

(4)编译结果
http://download.csdn.net/detail/shuangyuly/9527332
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息