Dlang, как указать расположение внешней библиотеки "C"?

Я хотел бы использовать augeas на моем Ubuntu. Я установил 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 toaug_init'`). Как я могу сказать ему найти его?

1 ответ

Все, что было нужно, это поместить следующую запись в dub.json:

"libs": ["augeas"]

Итак, весь dub.json это:

{
    "name" : "aug-tool",
    "description" : "Hello World",
    "dependencies" : {  },
    "libs": ["augeas"]
}
Другие вопросы по тегам