要使用Bazel构建不链接依赖的.so文件,可以使用cc_library
规则的linkshared
属性。下面是一个示例解决方法的代码示例:
cc_library(
name = "my_lib",
srcs = ["my_lib.cc"],
hdrs = ["my_lib.h"],
linkshared = 1,
deps = ["@my_dependency//:my_dependency"],
)
上述代码中,linkshared
属性设置为1,表示将创建一个不链接依赖的共享库。deps
属性指定了需要链接的依赖库。根据实际情况,你需要将@my_dependency//:my_dependency
替换为你的实际依赖库。
在上述示例中,my_lib.cc
和my_lib.h
是你自己的源代码和头文件,my_dependency
是你的依赖库。通过设置linkshared
属性为1,Bazel将只链接my_lib
自己的对象文件,而不链接my_dependency
。
使用上述方法,你可以构建不链接依赖的.so文件。