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 to
aug_init'`). Как я могу сказать ему найти его?
1 ответ
Все, что было нужно, это поместить следующую запись в dub.json
:
"libs": ["augeas"]
Итак, весь dub.json
это:
{
"name" : "aug-tool",
"description" : "Hello World",
"dependencies" : { },
"libs": ["augeas"]
}