从 go1.10 开始,只允许编译器/链接器选项的安全列表。这些之外的任何选项都需要包含在环境变量中,例如 ubuntu#echo $CGO_LDFLAGS_ALLOW -Wl,-Bdynamic,--wrap=memcpy 更多信息: https ://github.com/golang/go/wiki/InvalidFlag
在目录 foo 我有一些从另一个目录栏导入包的 go 代码。这个 bar 目录有一些 cgo 代码,其中声明了 #cgo 标志。
当我执行“go build”时,它会从 foo 转到 bar 并执行“go build”,但由于 CGO_LDFLAGS_ALLOW 未在环境中设置而失败。
我不想让我的所有团队在他们的环境中明确设置这个环境变量。有没有办法可以在目录栏中的“开始构建”之前设置环境变量?
我尝试在 foo 的 Makefile 中设置环境变量,但问题是子目录中有许多 makefile 可能会尝试构建 bar。我不想在所有 makefile 中设置变量。