Bazel创建c++;与soname共享库 我想用Bazel创建一个共享< /St+C++库>使用 SoNAM< > /P>
使用Bazel创建c++;与soname共享库 我想用Bazel创建一个共享< /St+C++库>使用 SoNAM< > /P>,c++,shared-libraries,bazel,C++,Shared Libraries,Bazel,使用cmake我可以设置如下属性: set_target_properties(my-library PROPERTIES SOVERSION 3 VERSION 3.2.0 ) 这将产生 libmy-library.so -> libmy-library.so.3 libmy-library.so.3 -> libmy-library.so.3.2.0 libmy-library.so
cmake
我可以设置如下属性:
set_target_properties(my-library
PROPERTIES
SOVERSION 3
VERSION 3.2.0
)
这将产生
libmy-library.so -> libmy-library.so.3
libmy-library.so.3 -> libmy-library.so.3.2.0
libmy-library.so.3.2.0
然而,在bazel
文档中,我找不到任何东西可以让我轻松做到这一点。我知道我可以直接定义soname和version,并在构建文件中传递一些linkopts
:
cc_binary(
name = "libmy-library.so.3.2.0",
srcs = ["my-library.cpp", "my-library.h"],
linkshared = 1,
linkopts = ["-Wl,-soname,libmy-library.so.3"],
)
它确实生成了libmy library.so.3.2.0,具有正确的soname,但没有.so文件,因此需要大量的黑客来:
- 创建libmy library.so.3符号链接
- 创建libmy-library.so符号链接
- 创建一些导入规则,以便我可以构建与此库链接的二进制文件