编译完成后,我正在尝试运行 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;
一起使用答案 0 :(得分:6)
您需要将libuv.a与已编译的代码链接,并且链接器不知道在哪里可以找到已编译的libuv。
为了给你一个更好的答案,我需要看到你编译命令,但与此同时我强烈推荐这个视频Ryan构建一个示例libuv项目。 他使用的实际代码有点过时,因为API发生了变化,但我认为你会发现他把项目放在一起非常有启发性。
答案 1 :(得分:1)
在ubuntu中,我成功使用了以下命令:
gcc sample.c -luv