Skip to content

如何使用 Bazel 正确构建 JNI 动态库? #338

Description

@hsz0797

我在尝试通过 JNI 调用隐语 PIR 的功能,需要构建一个.so动态库给 Java 使用。
目前我手动用 g++ -shared 去链接,但遇到了依赖符号缺失问题(例如 absl::lts_20240722::Symbolize,以及 SEAL 的 MemoryPoolMT)。
我注意到 bazel-bin/external 下已经有编译好的依赖(seal、absl、yacl 等),但是我不确定应该如何用 Bazel 把它们正确打包进 libyinyu_pir_jni.so。
在隐语的工程里,是否有推荐的方式/示例来用 Bazel 构建 JNI 动态库?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions