在Ubuntu上编译rust-bindgen

时间:2014-07-27 16:26:51

标签: rust

有没有人设法在Ubuntu 14.04上编译rust-bindgen?例如,我不知道如何静态构建和链接到libclang.so。我每晚使用锈。

1 个答案:

答案 0 :(得分:2)

以下只设置可执行文件,而不是宏。

我假设您已正确设置gitrustc。 bindgen将需要一个相当新的rustc来编译。

克隆存储库:

$ git clone https://github.com/crabtw/rust-bindgen
$ cd rust-bindgen

构建库:

$ rustc lib.rs

构建包装可执行文件,链接以前构建的库:

$ rustc -L . bindgen.rs

在Xlib标题上运行可执行文件:

$ ./bindgen -l xlib -o xlib.rs /usr/include/X11/Xlib.h

如果libclang设置错误,可执行文件可能会出现段错误。在这种情况下,预加载正确的库并将正确的选项传递给clang:

$ LD_PRELOAD=/usr/lib/libclang.so ./bindgen -I /usr/lib/clang/3.4.2/include -l xlib -o xlib.rs /usr/include/X11/Xlib.h

要安装正确版本的clang,您可以尝试安装libclang-dev