title: golang on windows: How to build for Linux?
body: <p>How do I compile a go file/project on windows for Linux?</p>
  
  <p>On Linux it should be possible via one-liner: </p>
  
  <pre><code>GOOS=windows go build -o filename.exe codefile.go
  </code></pre>
  
  <p>I tried something similar via Powershell, but on my Linux server (Ubuntu 16.04 amd64) only an error appears:</p>
  
  <blockquote>
    <p>-bash: ./gotest: cannot execute binary file: Exec format error". </p>
  </blockquote>
  
  <p>I tried with user Env-vars for <code>GOOS = linux</code> and <code>GOARCH = amd64</code> and via <code>set GOOS = linux</code> in Powershell, but I don't know enough about Powershell - the go build command runs without an error and produces the file.</p>
  
  <p>Can anyone explain the general how-to on windows (10 1709 x64) via Powershell (or cmd) (over VS Code) with go-1.10?</p>