Определения пропуска привязки из заголовочного файла C ++ - PullRequest
0 голосов
/ 20 января 2019

Я пытаюсь скомпилировать привязки для библиотеки 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 Ответ

0 голосов
/ 21 января 2019

Решается добавлением .whitelist_function("seal::.*") в файл build.rs.Поскольку встроенные функции не были заключены в тип, они не были включены в белый список текущей конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...