我想尝试在dlang中使用libuv。我下载了像这样的dlang绑定:
git clone git@github.com:tamediadigital/libuv.git
现在我接下来要做什么才能让我的“hello world”运行?
我试过了:
ldc2 hello.d -luv
但它说:
ldc2: Unknown command line argument '-luv'. Try: 'ldc2 -help'
ldc2: Did you mean '-v'?
我想我需要告诉编译器库绑定所在的位置。
然后在源代码中导入一些东西,可能是import libuv;
?
这是我想要“移植”到D:
的'hello world'代码#include <stdio.h>
#include <stdlib.h>
#include <uv.h>
int main() {
uv_loop_t *loop = malloc(sizeof(uv_loop_t));
uv_loop_init(loop);
printf("Now quitting.\n");
uv_run(loop, UV_RUN_DEFAULT);
uv_loop_close(loop);
free(loop);
return 0;
}
这是绑定github页面:https://github.com/tamediadigital/libuv
图书馆主页:http://www.libuv.org
答案 0 :(得分:3)
首先这是一个错误的绑定,这里是好的:https://github.com/changloong/libuv
假设您在当前目录中执行了git clonegit@github.com:changloong/libuv.git
。
编译:
ldc2 hello.d -I=libuv/deimos/libuv/ -I=libuv/ -L=-luv
来源:
import uv;
import core.memory;
import std.stdio;
int main(){
uv_loop_t *loop = new uv_loop_t;
uv_loop_init(loop);
printf("Now quitting.\n");
uv_run(loop, uv_run_mode.UV_RUN_DEFAULT);
uv_loop_close(loop);
return 0;
}
希望有人可以开始在D中使用C库。