【发布时间】:2021-09-19 01:06:49
【问题描述】:
我有一个头文件,可以说是 greetings.h:
include <hello.h>;
include <bye.h>;
include <hola.h>;
...
我在 rust 中使用 bindgen 将这些文件从 c 头文件生成到 rust 文件中。
但我想忽略生成include <hola.h> 标头并仅使用helllo.h 和bye.h 生成greeting.h。
我在 docs.rs bindgen 文档中搜索了它,但没有找到任何提示。
或者有没有任何选项可以用clang做到这一点
【问题讨论】:
-
在您的
build.rs文件中使用 allowlisting 或 blocklisting 来指定要为库的哪些部分生成绑定,更多信息请参见 @987654321 @. -
@HHK 谢谢我用允许列表功能解决了这个问题
-
allowlisting 和 blocklisting 功能对我来说已经完成了一半。我真正希望的是完全禁止
bindgen(而且,我真的猜是bindgen下面的clang)处理某些#include的头文件。我想这可能意味着改变原始的 C 头文件。
标签: rust clang rust-bindgen