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.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto