首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

bazel cc_binary()创建没有任何符号的.so文件?

bazel cc_binary()创建没有任何符号的.so文件是因为在构建过程中缺少了链接器的选项。链接器负责将目标文件中的符号解析为最终的可执行文件或共享库。在使用bazel的cc_binary()规则时,需要确保在BUILD文件中正确设置了链接器选项。

要创建一个具有符号的.so文件,可以在BUILD文件中使用cc_library()规则来定义一个共享库目标,并将其链接到cc_binary()规则中。cc_library()规则将源文件编译为目标文件,并生成具有符号的共享库文件。

以下是一个示例的BUILD文件:

代码语言:txt
复制
cc_library(
    name = "my_library",
    srcs = ["my_source_file.cc"],
    hdrs = ["my_header_file.h"],
    visibility = ["//visibility:public"],
)

cc_binary(
    name = "my_binary",
    srcs = ["main.cc"],
    deps = [":my_library"],
)

在这个示例中,cc_library()规则定义了一个名为my_library的共享库目标,它包含了my_source_file.cc和my_header_file.h。cc_binary()规则定义了一个名为my_binary的可执行文件目标,它依赖于my_library共享库。

通过这样的设置,bazel将会正确地链接共享库中的符号,从而创建一个具有符号的.so文件。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云容器服务(TKE)。

  • 腾讯云云服务器(CVM):提供高性能、可扩展的云服务器实例,适用于各种计算场景。详情请参考:腾讯云云服务器
  • 腾讯云容器服务(TKE):基于Kubernetes的容器管理服务,提供高可用、弹性伸缩的容器集群。详情请参考:腾讯云容器服务
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券