【发布时间】:2019-12-04 00:08:05
【问题描述】:
我正在尝试使用 Bazel (v1.0.0) rules_go 来构建头文件 + 库,就像我使用 go build -buildmode=c-archive 一样。我在 BUILD.bzl 文件中设置了以下规则:
go_binary(
name="go_cpp_bridge",
srcs = ["cpp_bridge.go"],
cgo = True,
gc_linkopts=["-buildmode=c-shared"],
linkmode = "c-archive",
visibility = ["//visibility:public"],
)
cpp_bridge.go的当前代码只是一个hello world,看看是否有效:
package main
import "C"
//export Add
func Add(a, b int) int { return a + b }
func main(){}
Bazel 确实生成了一个库文件,但我在 bazel-bin 输出中缺少相关的头文件。使用 go build 进行测试会产生头文件和库。我如何让巴泽尔给我同样的东西。
【问题讨论】: