【问题标题】:Reason and solution for error -"/usr/bin/ld: cannot find -levent "?报错-"/usr/bin/ld: cannot find -levent"的原因及解决办法?
【发布时间】:2009-11-12 10:23:19
【问题描述】:

在编译使用 libevent 库的程序时,我正在使用 gcc 选项 -levent。但我收到了这个错误 -

/usr/bin/ld: 找不到-levent

我的系统上没有 libevent,所以我在编译时静态链接到它

gcc -o Hello -static -I libevent-1.4.12-stable/ hello.c -levent

我该如何解决这个问题?

提前致谢!

【问题讨论】:

    标签: c gcc ld libevent


    【解决方案1】:

    您系统上的libevent.(a|so) 文件在哪里?

    如果它不在系统的库路径中,则必须添加一个 -L 选项,将其位置添加到链接器搜索的库路径列表中。

    例如

    gcc -L/folder/containing/event/lib -levent mysource.cc
    

    【讨论】:

    • 我没有 libevent.(a|so)。我使用 gcc -o Hello -static -I libevent-1.4.12-stable/ hello.c -levent 静态包含 libevent
    • 如果你想链接到库(静态或动态)你需要库。静态库应称为 libevent.a。如果它在 libevent-1.4.12-stable 中,那么您应该提供 -Llibevent-1.4.12-stable 告诉链接器查看那里。
    【解决方案2】:

    您需要在您的系统上拥有libevent,或者需要明确指定其路径(如果它是您获得的带有标头的第三方库)。

    我怀疑它不在您的默认 /lib 路径中。

    【讨论】:

      猜你喜欢
      • 2020-12-09
      • 1970-01-01
      • 2015-05-10
      • 2018-01-15
      • 2021-05-07
      • 2012-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多