dlang如何指定外部的位置" C"图书馆?

时间:2015-10-29 10:01:16

标签: d dub

我想在我的Ubuntu上使用augeas。我安装了libaugeas-dev apt软件包,它在augeas.h目录中安装了/usr/include文件。现在我想打电话给一些augeas功能。

第一个是augeas *aug_init(const char *root, const char *loadpath, unsigned int flags)。我尝试使用以下代码

import std.string;

struct augeas;

extern (C) augeas *aug_init(const char *root, const char *loadpath, uint flags);

void main() {
    auto x = aug_init(std.string.toStringz("/"), 
                  std.string.toStringz(""), 
                  0);   
}

代码编译,但链接器找不到aug_init函数(undefined reference to aug_init'`)。我怎么能告诉他找到它?

1 个答案:

答案 0 :(得分:1)

所需要的只是将以下条目放在dub.json

"libs": ["augeas"]

因此整个dub.json就是这样:

{
    "name" : "aug-tool",
    "description" : "Hello World",
    "dependencies" : {  },
    "libs": ["augeas"]
}