Golang supports cross-compilation, generating an executable program on one platform for another platform. This tutorial introduces you to cross-compilation of golang.
1. What is cross-compilation
Simply put, it is to generate executable code on one platform on another platform. The same architecture can run different operating systems; similarly, the same operating system can also run on different architectures.
2. Preparation before cross-compilation
This article only introduces Golang cross-compilation under Windows platform
Installing TDM-GCC
Download address: http://tdm-gcc.tdragon.net/download
After the installation is completed, add the bin folder in TDM-GCC to the environment variable.
3. Brief description of cross-compilation
In fact, just save the above picture. You need to remember three parameters, GOOS (Go’s target system) , GOARCH (GO's target architecture).
After the setting is completed, view the current configuration through go env.
Note: In different command prompts (CMD) or close and reopen the command prompt, the set GOOS and GOARCH are not interoperable. In other words, GOOS and GOARCH can be understood as local variables and will not be saved. By default, Golang builds the current system and architecture every time.
4. Practical practice
1. Default compilation
Currently, a Windows is compiled using the default configuration. For the exe executable file under the platform, we also set GOOS and GOARCH before compiling it.
2. Cross-compile an Arm Linux
The SET command seems to be invalid in Windows PowerShell. I will investigate the reason in detail when I have time. , so CMD is used in this step.
After setting up, just run go bulid again, and you will get a Linux executable file without suffix.
For more golang knowledge, please pay attention to the golang tutorial column on the PHP Chinese website.
The above is the detailed content of A brief introduction to Golang cross-compilation. For more information, please follow other related articles on the PHP Chinese website!