今天安装libevent ,在编译的时候遇到以下的错误,百度谷歌都搜了,没有类似的情况,特地请教论坛大神。[root@cld-test libevent-2.1.8-stable]# make
make  all-am
make[1]: Entering directory `/tmp/libevent-2.1.8-stable'
  CCLD     sample/le-proxy
sample/le-proxy.o: In function `main':
/tmp/libevent-2.1.8-stable/sample/le-proxy.c:273: undefined reference to `TLS_method'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_read'
./.libs/libevent_openssl.so: undefined reference to `BIO_set_shutdown'
./.libs/libevent_openssl.so: undefined reference to `BIO_get_data'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_write'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_ctrl'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_create'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_puts'
./.libs/libevent_openssl.so: undefined reference to `BIO_get_shutdown'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_new'
./.libs/libevent_openssl.so: undefined reference to `BIO_set_init'
./.libs/libevent_openssl.so: undefined reference to `BIO_get_init'
./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_destroy'
./.libs/libevent_openssl.so: undefined reference to `BIO_set_data'
collect2: error: ld returned 1 exit status
make[1]: *** [sample/le-proxy] Error 1
make[1]: Leaving directory `/tmp/libevent-2.1.8-stable'
make: *** [all] Error 2

解决方案 »

  1.   


    更换了2.1 和2.0 都没用,后来没办法了额, 只能通过yum安装解决。
      

  2.   


    更换了2.1 和2.0 都没用,后来没办法了额, 只能通过yum安装解决。这一块相当麻烦,好像那次也解决了很久,各种依赖包解决就OK拉
      

  3.   

    刚用2.1.8版本我也遇到这个问题了,依赖头文件的时候多了一层openssl,去掉就可以了。
    正确的依赖头文件选项是:
    CFLAGS="-I/home/smile/openssl-1.0.2e/libs-build/include/"注:2.1.8的libevnt需要openssl的动态库才能编译。