博客
关于我
libthriftnb.so: undefined reference to `evutil_make_socket_closeonexec'
阅读量:789 次
发布时间:2023-01-31

本文共 1179 字,大约阅读时间需要 3 分钟。

libevent安装问题及解决方法

在某些Linux环境下,编译过程中可能会遇到与libevent相关的动态链接错误,这类错误通常表现在缺少必要的动态库支持上。尤其在使用64位系统时,由于文件路径结构的不同,可能会导致一些预期的动态链接库无法正确加载。

问题描述

当尝试编译包含libevent依赖的项目时,可能会出现以下错误:

../../../lib/cpp/.libs/libthriftnb.so: undefined reference to `evutil_make_socket_closeonexec'../../../lib/cpp/.libs/libthriftnb.so: undefined reference to `evbuffer_get_length'../../../lib/cpp/.libs/libthriftnb.so: undefined reference to `evbuffer_pullup'

该问题通常是由于libevent库的动态链接路径未能正确添加到系统的动态链接器搜索路径中,导致编译器无法找到这些必需的库文件。

解决步骤

为了解决这个问题,我们需要确保编译器能够正确识别并加载您安装的libevent库文件。以下是逐步解决方案:

  • 确认libevent安装目录确认您是否已成功安装了libevent库文件,通常情况下libevent会被安装在以下目录:

    /usr/lib

    如果您还没有安装libevent,请按照系统文档或包管理器的指引进行安装。

  • 创建符号链接为了让编译器能够找到libevent库文件,请执行以下命令为/usr/lib64目录创建符号链接:

    ln -sf /usr/lib/libevent* /usr/lib64/

    这一步骤的作用是创建符号链接,将/usr/lib下的libevent文件映射到/usr/lib64目录下。如果没有完成这一步骤,编译器可能无法找到这些库文件。

  • 验证配置接下来,请检查您的编译器和链接器配置,确保LD_LIBRARY_PATH环境变量包含了lib64目录:

    export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH

    这一步骤是为了告诉编译器可以访问lib64目录下的库文件。如果您在终端中运行上述命令,确保每次新会话都重新设置这个变量。

  • 额外说明

    在某些版本的系统(如RedHat或CentOS)中,动态链接器的配置文件可能会限制从特定目录加载库文件。在这种情况下,您可能需要自定义配置文件或限制加载的路径。

    通过以上步骤,您应该能够解决libevent相关的动态链接错误。如果问题仍然存在,请确保您已经正确设置了所有必要的环境变量,并且您的编译器和链接器确实能够访问到/usr/lib64目录下的库文件。

    转载地址:http://kwwfk.baihongyu.com/

    你可能感兴趣的文章
    leaflet叠加多个面(面的数据结构)(leaflet篇.62)
    查看>>
    leaflet图标跳动(leaflet篇.45)
    查看>>
    leaflet地图无级别缩放(移动端)(leaflet篇.76)
    查看>>
    leaflet多边形空间查询(ElasticSearch技术实现)(leaflet篇.52)
    查看>>
    leaflet实现wms服务面要素可点击(leaflet篇.30)
    查看>>
    Leaflet快速入门与加载OSM显示地图
    查看>>
    leaflet接入geoserver发布的热力图服务(leaflet篇.29)
    查看>>
    leaflet接入土地资源(leaflet篇.55)
    查看>>
    leaflet接入天地图(经纬度投影256)(leaflet篇.24)
    查看>>
    leaflet点采集与点编辑(leaflet篇.5)
    查看>>
    leaflet聚合图(leaflet篇.11)
    查看>>
    leaflet自定义地图样式地图(插件实现)(leaflet篇.18)
    查看>>
    leaflet虚线(leaflet篇.60)
    查看>>
    leaflet蜂巢图(leaflet篇.15)
    查看>>
    leaflet轨迹线(leaflet篇.58)
    查看>>
    leaflet面采集与面编辑(leaflet篇.7)
    查看>>
    leaflet饼状图(leaflet篇.74)
    查看>>
    LeakCanary使用,案例静态Toast引起的内存泄漏
    查看>>
    Leapin' Lizards
    查看>>
    learn c++(vector and array)
    查看>>