libuv undefined对uv_loop_new的引用

时间:2013-09-15 19:12:33

标签: c libuv

编译完成后,我正在尝试运行 libuv 示例程序:

#include <stdio.h>
#include <uv.h>

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&#34; uv.h&#34;

一起使用

2 个答案:

答案 0 :(得分:6)

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

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

http://vimeo.com/24713213

答案 1 :(得分:1)

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

gcc sample.c -luv