mirror of
https://github.com/golang/go
synced 2024-11-24 01:50:11 -07:00
cmd/cgo: clarify implicit "cgo" build constraint
When using the special import "C", the "cgo" build constraint is implied for the go file,
potentially triggering unclear "undefined" error messages.
Explicitly explain this in the documentation.
Updates #24068
Change-Id: Ib656ceccd52c749ffe7fb2d3db9ac144f17abb32
GitHub-Last-Rev: 5a13f00a9b
GitHub-Pull-Request: golang/go#24072
Reviewed-on: https://go-review.googlesource.com/96655
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
515fa58ac9
commit
cbfda7f892
@ -109,7 +109,11 @@ it is expected to work. It is disabled by default when
|
||||
cross-compiling. You can control this by setting the CGO_ENABLED
|
||||
environment variable when running the go tool: set it to 1 to enable
|
||||
the use of cgo, and to 0 to disable it. The go tool will set the
|
||||
build constraint "cgo" if cgo is enabled.
|
||||
build constraint "cgo" if cgo is enabled. The special import "C"
|
||||
implies the "cgo" build constraint, as though the file also said
|
||||
"// +build cgo". Therefore, if cgo is disabled, files that import
|
||||
"C" will not be built by the go tool. (For more about build constraints
|
||||
see https://golang.org/pkg/go/build/#hdr-Build_Constraints).
|
||||
|
||||
When cross-compiling, you must specify a C cross-compiler for cgo to
|
||||
use. You can do this by setting the generic CC_FOR_TARGET or the
|
||||
|
Loading…
Reference in New Issue
Block a user