0
我想在我的Ubuntu上使用augeas。我已經安裝了libaugeas-dev
apt軟件包,在/usr/include
目錄中安裝augeas.h
文件。現在我想打電話給一些augeas功能。dlang如何指定外部「C」庫的位置?
第一個是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'`)。我怎麼能告訴他找到它?
一般來說,你只需要告訴鏈接包括圖書館。 '配音'可以做到這一點。 'dmd'可以用兩件事情做自己:你可以添加'編譯(LIB,「augeas」);'到您的源文件編譯或'-L-laugeas'到構建命令行。我相信''gdc'和'ldc'也支持'-L-l'命令。或者,如果你單獨鏈接,只需將'-laugeas'傳遞給'ld'命令行。 –