How to CrossCompile Go programs on Windows 10
set
is an internal command of the Windows command line interpreter (cmd.exe
).
If you're using PowerShell, then changing values of environment variables should be done like:
$Env:<variable-name> = "<new-value>"
For more details, see PowerShell documentation: About Environment Variables
So to change GOOS
, use:
$Env:GOOS = "linux"
To do a cross-compilation:
Navigate to the folder where the
main
package is.Run
$Env:GOOS = "linux"
Optionally run
$Env:GOARCH = "amd64"
Run
go build
Or you can do it in a single line:
$Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build
To specify the output file name:
$Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build -o hello