无法将LIBEVENT链接为C ++

时间:2011-11-18 17:02:21

标签: c++ c gcc g++ libevent

为什么这不起作用,归档test.c

#include <event.h>
int main(void)
{
    event_init();
    return 0;
}

然后: gcc -o test.o -c test.c运行正常,但

链接: g++ -o test -levent test.o生成

test.o: In function `main':
test.c:(.text+0x5): undefined reference to `event_init'
collect2: ld returned 1 exit status

因此无法将其链接为C++。怎么解决这个?我需要将其链接为C++并编译为C

1 个答案:

答案 0 :(得分:12)

这个问题已被多次询问。在Linux上,您应该在编译命令中将库放在对象和源文件之后。所以试试

g++ -Wall -g -c mytest.cc 
g++ -Wall -g mytest.o -levent -o mytest

避免调用您的测试程序test,它是现有的实用程序或内置的shell。

作为新手,请记住始终使用-Wall提出的所有警告和调试-g进行编译并学会使用gdb