Kompilering af et GO-program på Windows, der skal implementeres på Linux

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne udvikle mig på et Windows-miljø og har installeret gå 1.10.1 ... Jeg skal dog installere mit program på en Linux. Er der en måde at bygge go-programmet på og opbygge til linux. Jeg har set masser af dokumentation for at gå fra linux til windows, men ikke omvendt.


Det mest lovende eksempel jeg har prøvet:


set GOOS=linux 
set GOARCH=amd64 
go build filename.go


-> som bare bygger en exe ..

Bedste reference


Jeg kan bekræfte, at hvad du forsøger at opnå virker for mig på Windows 7 og Windows 10 med gå 1.10.2.
For at kontrollere, at din go install understøtter det ønskede mål, skal du køre denne kommando:


go tool dist list | find "linux/amd64"


Du skal sørge for, at du indstiller miljøvariablerne uden yderligere eller skjulte mellemrum, sæt dem på denne måde:


set GOOS=linux
set GOARCH=amd64


Kontroller så, for eksempel på denne måde:


echo !\%GOOS\%!
echo !\%GOARCH\%!


Hvis kombinationen ikke er gyldig, skal du få denne besked:



  cmd/go: unsupported GOOS/GOARCH par linux/amd64



Efter dette løber du opbygge:


go build -v -x -o foreign\_linux foreign.go


Efter Volkers rådgivning kan du kontrollere, om det oprettede binære virkelig er et Linux-binært:


type foreign\_linux


Du vil modtage nogle kryptiske tegn, men i begyndelsen af ​​den første linje skal være ELF. Hvis det er en exe, vil du se MZ.


Indtast billedbeskrivelse her [9]