为了使用libevent,编写一个echo回射服务器程序。
1. 准备工作
在深入浅出Libevent一书上提到,如果是源码学习的话使用libevent1.4版本,如果是使用的话一般用libevent2.x版本。
因此,在libevent.org上将libevent2.0.20-stable版本的源码下载下来,编译,安装:
./configure --prefix=INSTALL_DIR
make
make install
2. 编写Makefile
在Makefile中,需要指定libevent安装的头文件目录(gcc中-I选项)和库文件目录(gcc中-L选项),以及加上编译标志-levent
PROGS=echo
CLEANFILES = core core.* *.core *.o temp.* *.out typescript* \
*.lc *.lh *.bsdi *.sparc *.uw
LIBEVENT_DIRECTORY = /home/zhangxiao/libevent/src/src2 ### INSTALL DIR
LIBEVENT_INCLUDE = $(LIBEVENT_DIRECTORY)/include
LIBEVENT_LIBRARY = $(LIBEVENT_DIRECTORY)/lib
SRC=${shell pwd}/src
OUTPUT:=${shell pwd}/bin
MAKE_BIN_DIR := ${shell mkdir -p $(OUTPUT) }
all : ${PROGS}
CFLAGS+=-g -I${LIBEVENT_INCLUDE}
LDFLAGS+=-L${LIBEVENT_LIBRARY} -levent -lpthread -lrt
echo:${SRC}/echo.o
@${CC} ${CFLAGS} -o ${OUTPUT}/$@