En este tutorial te voy a enseñar cómo compilar software escrito en Go para Windows 7 desde un Windows actualizado o reciente como lo es Windows 11.
Voy a mostrarte la última versión soportada y cómo hacerlo incluso si tú no tienes Windows 7 como sistema operativo.
Obviamente todo esto es inseguro. Usar versiones antiguas de Go quita todos los parches de seguridad, y ni hablar de el propio Windows 7 como sistema operativo.
Sin embargo, puede que tus requerimientos te obliguen a compilar y ejecutar programas de Go para W7 así que veamos cómo hacerlo.
Compilando software de Go para Windows 7
He probado que la versión más reciente soportada es la 1.17 (al momento de escribir este post ya existe la 1.25.1) así que necesitamos descargarla y establecerla en las variables del sistema.
Descargamos Go 1.17 desde https://go.dev/dl/go1.17.windows-386.zip y lo extraemos en cualquier directorio.
Yo lo he extraído en mi escritorio, de modo que el ejecutable go
existe en C:\Users\parzibyte\Desktop\go1.17.windows-386\go\bin
(parzibyte
es mi usuario, en tu caso
obviamente esto cambiará)
Establecemos las variables para que al invocar a go
se tome
primero la 1.17:
SET PATH=C:\Users\parzibyte\Desktop\go1.17.windows-386\go\bin;%PATH% && SET GOROOT=C:\Users\parzibyte\Desktop\go1.17.windows-386\go\
Y compilamos normalmente con go build
.
Ejemplo propio
Necesito compilar mi plugin para impresoras térmicas para Windows 7 así que hago lo siguiente:
SET PATH=C:\Users\parzibyte\Desktop\go1.17.windows-386\go\bin;C:\MinGW\bin;%PATH% && SET GOROOT=C:\Users\parzibyte\Desktop\go1.17.windows-386\go\
Y luego compilo:
go build -o plugin351_w7.exe -tags "produccion sin_iconv" -ldflags "-H windowsgui"
Ahora que veo el comando de nuevo no sé si es necesario incluir también MinGW. Me parece que no, porque MinGW solo es para compilar la librería SQLite3 que está programada en C pero mi plugin ya no usa bases de datos.