链接到 libuv

Linking against libuv

我想尝试在 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;?

这是我要 "port" 到 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

首先是绑定错误,下面是正确的绑定: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 库。