libuv undefined对uv_loop_new的引用

编译后,我试图运行libuv示例程序:

#include  #include  int main() { uv_loop_t *loop = uv_loop_new(); printf("Now quitting.\n"); uv_run(loop, UV_RUN_DEFAULT); return 0; } 

但是,当尝试运行时,我收到以下错误:

 **/tmp/ccHTpspB.o: In function `main': main.c:(.text+0x9): undefined reference to `uv_loop_new' main.c:(.text+0x28): undefined reference to `uv_run' collect2: error: ld returned 1 exit status** 

我哪里做错了 ?

PS:它不适用于#include“uv.h”

您需要将libuv.a与已编译的代码链接,并且链接器不知道在哪里可以找到已编译的libuv。

为了给你一个更好的答案,我需要看到你编译命令,但在此期间我强烈推荐这个videoRyan构建一个示例libuv项目。 他使用的实际代码有点过时,因为API发生了变化,但我认为你会发现他把项目放在一起非常具有启发性。

http://vimeo.com/24713213

在ubuntu中,我成功使用了以下命令:

 gcc sample.c -luv