jni 的 bazel:jni.h 找不到文件
bazel for jni: jni.h file not found
我正在尝试使用 bazel 构建我的 JNI 库(用 C 语言编写)。大约 4 小时后没有运气:"jni.h file not found"。如何将 JDK 包含目录放在搜索路径中?尝试使用绝对路径,但 bazel 拒绝这些路径。尝试为 JDK 使用 new_local_repository,但看不到如何使其工作。
这是 MacOS 10.12.6 上的 bazel 0.5.3,Java 1.8
你能依赖 @local_jdk//:jni_header
或 https://github.com/bazelbuild/bazel/blob/117da7a947b4f497dffd6859b9769d7c8765443d/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE 的其他魔法标签吗?但是,如果您使用的是自定义 --java_base
,它将不起作用。
例如这对我有用:
cc_library(
name = "foo",
srcs = [
"@local_jdk//:jni_header",
"@local_jdk//:jni_md_header-linux",
"foo.cc"
],
includes = [ "external/local_jdk/include/linux" ],
)
我正在尝试使用 bazel 构建我的 JNI 库(用 C 语言编写)。大约 4 小时后没有运气:"jni.h file not found"。如何将 JDK 包含目录放在搜索路径中?尝试使用绝对路径,但 bazel 拒绝这些路径。尝试为 JDK 使用 new_local_repository,但看不到如何使其工作。
这是 MacOS 10.12.6 上的 bazel 0.5.3,Java 1.8
你能依赖 @local_jdk//:jni_header
或 https://github.com/bazelbuild/bazel/blob/117da7a947b4f497dffd6859b9769d7c8765443d/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE 的其他魔法标签吗?但是,如果您使用的是自定义 --java_base
,它将不起作用。
例如这对我有用:
cc_library(
name = "foo",
srcs = [
"@local_jdk//:jni_header",
"@local_jdk//:jni_md_header-linux",
"foo.cc"
],
includes = [ "external/local_jdk/include/linux" ],
)