Skip to content

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

@hsz0797

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 动态库?

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