Chr*_*aes 7 c++ shared-libraries bazel
我想使用soname与 Bazel创建一个共享的C++ 库。
随着cmake
我可以设置属性,如:
set_target_properties(my-library
PROPERTIES
SOVERSION 3
VERSION 3.2.0
)
Run Code Online (Sandbox Code Playgroud)
然后会产生
libmy-library.so -> libmy-library.so.3
libmy-library.so.3 -> libmy-library.so.3.2.0
libmy-library.so.3.2.0
Run Code Online (Sandbox Code Playgroud)
但是,在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"],
)
Run Code Online (Sandbox Code Playgroud)
它确实生成了具有正确 soname 的libmy-library.so.3.2.0,但不是 .so 文件,因此它需要大量的黑客攻击:
感觉这不是正确的方法。解决此类问题的正确方法是什么?
归档时间: |
|
查看次数: |
675 次 |
最近记录: |