x/mobile: CGO_CXXFLAGS 和 CGO_LDFLAGS 被用于 iOS 的覆盖,

mspsb9vt  于 3个月前  发布在  Go
关注(0)|答案(3)|浏览(46)

你正在使用哪个版本的Go( go version )?

$ go version
go version go1.18.2 darwin/amd64

这个问题在最新版本中是否可以复现?

这个bug存在于cmd/gomobile中,并且可以在该版本的最新提交中复现。

你正在使用什么操作系统和处理器架构( go env )?

go env 输出

$ go env
GOARCH="amd64"
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOVERSION="go1.18.2"
GCCGO="gccgo"
GOAMD64="v1"

你做了什么?

我试图使用gomobile构建一个包含C依赖项的iOS框架。我需要设置CGO_CXXFLAGS和CGO_LDFLAGS以使构建正常工作。

CGO_ENABLED=1 CGO_LDFLAGS="<flags>" CGO_CXXFLAGS="<flags>" gomobile bind -target ios/arm64,iossimulator/amd64 -iosversion 9.3.0 ./cmd/app

你期望看到什么?

gomobile应该将CGO_CXXFLAGS和CGO_LDFLAGS的值传递给构建过程的其他部分(如gobind、go build等)。这在构建Android时确实会发生,但在针对iOS时不会发生。

你看到了什么?

CGO_CXXFLAGS、CGO_LDFLAGS等变量被引入系统依赖项所需的值所覆盖。
这导致我的构建出现问题。
理想情况下,由gomobile引入的新值应该追加到环境中已有的值中。我尝试了this change来解决这个问题。

pinkon5k

pinkon5k1#

你好,happyalu。

你能请在bug中添加更多详细信息并使用bug格式吗?如果这不是一个bug,请查看下面的内容。

与许多项目不同,Go项目不使用GitHub Issues进行一般讨论或提问。GitHub Issues仅用于跟踪bug和proposals

提问的方法如下:

osh3o9ms

osh3o9ms2#

对不起,我没有意识到这个bug模板。我在上面的帖子中更新了更多的细节。

5anewei6

5anewei63#

@hyangah can you give this a look?

相关问题