无法将LIBEVENT链接为C.

前端之家收集整理的这篇文章主要介绍了无法将LIBEVENT链接为C.前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么这不起作用,文件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.

解决方法

这个问题已被多次询问.在Linux上,您应该将库放在编译命令中的对象和源文件之后.所以试试吧
g++ -Wall -g -c mytest.cc 
g++ -Wall -g mytest.o -levent -o mytest

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

作为一个新手,记得总是编译所有警告问-Wall和调试-g并学习使用gdb

猜你在找的C&C++相关文章