错误原因及解决方案 - "/usr/bin/ld: cannot find -levent"? The reason and solution for the error - "/usr/bin/ld: cannot find -levent"?

3

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

/usr/bin/ld: cannot find -levent

我的系统上没有安装libevent,因此在编译时我正在进行静态链接。

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

我该如何解决这个问题?

提前感谢!

2个回答

6

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

如果它不在系统的库路径上,那么你需要添加一个-L选项将其位置添加到链接器搜索库的路径列表中。

例如:

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

我没有libevent.(a|so)库。我正在使用gcc静态包含libevent,命令为:gcc -o Hello -static -I libevent-1.4.12-stable/ hello.c -levent。 - AJ.
2
如果您想链接库(静态或动态),则需要该库。静态库应命名为libevent.a。如果该库在libevent-1.4.12-stable中,则应提供-Llibevent-1.4.12-stable以告知链接器在那里查找。 - CB Bailey

0

您需要在系统上安装 libevent 或明确指定其路径(如果它是您使用头文件获取的第三方库)。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接