Avatar ·

¿Cómo realizar la compilación cruzada de un programa Go en macOS?

¡Hola a todos! Escribo en Go en macOS y quiero compilar un binario para Linux y Windows, para ejecutarlo en el servidor y compartirlo con colegas. Probé simplemente ejecutar `go build`, pero crea un archivo ejecutable solo para macOS. Leí que Go tiene soporte integrado para compilación cruzada, pero no puedo entender cómo hacerlo correctamente. Aquí está mi código simple (archivo main.go): ```go package main import "fmt" func main() { fmt.Println("Hello, cross-compilation!") } ``` Probé: ```bash GOOS=linux GOARCH=amd64 go build main.go ``` Pero obtuve un error: `cannot find package "main" in any of: ...` o un binario que no se ejecuta en Linux. ¿Qué estoy haciendo mal? ¿Necesito instalar herramientas adicionales, como para CGo? Tengo macOS Big Sur, Go versión 1.21. Agradecería una explicación paso a paso para principiantes. <<>>

Solución paso a paso para la compilación cruzada en Go en macOS

¡Estás en el camino correcto! Go realmente tiene soporte integrado para compilación cruzada.