Определения пропуска привязки из заголовочного файла C++
Я пытаюсь скомпилировать привязки для библиотеки SEAL C++. Вот мой репо.
// Generate the bindings
let bindings = bindgen::Builder::default()
.generate_inline_functions(true)
.derive_default(true)
.header("./seal/src/seal/seal.h")
.clang_arg("-I./seal/src/")
.clang_arg("-std=c++17")
.clang_arg("-x")
.clang_arg("c++")
.opaque_type("std::.*")
.whitelist_type("seal::.*")
.generate()
.expect("Unable to generate bindings");
let out_path = PathBuf::from("./src/");
bindings
.write_to_file(out_path.join("bindings.rs"))
.expect("Couldn't write bindings!");
bindings.rs не имеет ничего от defaultparams.h
Что мне нужно добавить к объекту Builder, чтобы включить функции defaultparams.h в сгенерированные привязки? я нуждаюсь coeff_modulus_128()
например.
Я пытался внести в белый список std::vector
но это не оказало никакого влияния на сгенерированные привязки.
1 ответ
Решение
Решено добавлением .whitelist_function("seal::.*")
к build.rs
файл. Поскольку встроенные функции не были заключены в тип, они не были внесены в белый список текущей конфигурации.