LINUX下libevent编译&&demo运行

对libevent有些感兴趣,下载了一个准备研究一下。在编译过程中,遇到了一些问题,写篇文章记录一下。

libevent : libevent-2.1.8-stable

编译&&安装

1、./configure --prefix=/opt/libevent

这一步是用来生成编译时用的makefile,其中,–prefix用来指定libevent的安装目录。

2、make 编译,我在编译的时候遇到如下报错:/root/libevent-2.1.8-stable/missing:行81: aclocal-1.15: 未找到命令

解决办法:

执行命令,autoreconf -ivf 让其自动配置一下源代码。

然后在make编译就没问题了。

3、make install 安装成功,可以看到 /opt/libevent下面已经有文件生成了。

demo测试

1、用个定时器来测一下,代码如下:

    #include <sys/types.h>
    #include <event2/event-config.h>
    #include <stdio.h>
    #include <event.h>
    struct event ev;
    struct timeval tv;
     
    void time_cb(int fd, short event, void *argc)
    {
            printf("timer wakeup!\n");
            event_add(&ev, &tv);
    }           
                
    int main()  
    {           
            struct event_base *base = event_init();
            tv.tv_sec = 10;
            tv.tv_usec = 0; 
            evtimer_set(&ev, time_cb, NULL);
            event_base_set(base, &ev);
            event_add(&ev, &tv);
            event_base_dispatch(base);
    }  

编译:gcc test.c -o test_event -I /opt/libevent/include/ -L /opt/libevent/lib/ -levent

注意:-I 是大写的 i 啊,不是小写的L,用来指定头文件的,-L则是用来指定引用库的位置的。

2、运行 ./test_event

报错:./test_event: error while loading shared libraries: libevent-2.1.so.6: cannot open shared object file: No such file or directory

没找到库,链接一下:ln -s /opt/libevent/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6

再次运行,ok了。

OK,可以继续捣鼓这个libevent了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值