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からの何もありません
生成されたバインディングにdefaultparams.hの関数を含めるには、Builderオブジェクトに何を追加する必要がありますか?coeff_modulus_128()
たとえば必要です。
ホワイトリストに登録してみましたstd::vector
が、生成されたバインディングには影響しませんでした。
ファイルに追加.whitelist_function("seal::.*")
することで解決しましたbuild.rs
。インライン関数は型で囲まれていないため、現在の構成ではホワイトリストに登録されていません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加