Go Cross-Compilation Mac to Linux: Difference between revisions
Jump to navigation
Jump to search
(Created page with "=Internal= =Overview= Set <code>GOOS</code> and <code>GOARCH</code> environment variables to appropriate...") |
|||
Line 9: | Line 9: | ||
export GOOS=linux | export GOOS=linux | ||
export GOARCH=amd64 | export GOARCH=amd64 | ||
</syntaxhighlight> | |||
=Cgo= | |||
{{External|https://go.dev/blog/cgo}} | |||
If Cgo is needed: | |||
<syntaxhighlight lang='bash'> | |||
brew install FiloSottile/musl-cross/musl-cross | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
export CC=x86_64-linux-musl-gcc; export CXX=x86_64-linux-musl-g++; export GOOS=linux; export GOARCH=amd64; export CGO_ENABLED=1; go build [...] | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 03:17, 9 December 2023
Internal
Overview
Set GOOS
and GOARCH
environment variables to appropriate values, during the build.
To build on Mac for Linux:
export GOOS=linux
export GOARCH=amd64
Cgo
If Cgo is needed:
brew install FiloSottile/musl-cross/musl-cross
export CC=x86_64-linux-musl-gcc; export CXX=x86_64-linux-musl-g++; export GOOS=linux; export GOARCH=amd64; export CGO_ENABLED=1; go build [...]