链接libuv

时间:2017-03-15 09:32:34

标签: d 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;

这是我想要“移植”到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

1 个答案:

答案 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库。