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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions