Go 交叉編譯


前言

什么是交叉編譯?

交叉編譯指在某個平台編譯另一平台能使用的文件

本文列出交叉編譯的命令, 全程干貨, 不多BB

正文

本文參考官方文檔

https://golang.google.cn/doc/install/source#introduction
https://golang.google.cn/doc/install/source#environment

一條基本的編譯命令結構如下(mac/linux)

GOOS=linux GOARCH=amd64 go build main.go

windows版比較特殊(目的一致,只是win加set)

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

這個命令有兩個參數(main.go不做解釋了)

GOOS  -->  GO,OS 生成文件執行的平台

GOPACH  -->  GO,PACH 平台的架構

以上這條命令就是生成在amd64架構的linux上的可執行文件

注意的是, 如果你是在同等架構和系統上編譯,例如在linux上編譯linux的文件,則什么都不用帶,go會自己判斷

GOOS和GOARCH都有多個選項,可組合,對照如下

當然,有些架構編譯可能會出現錯誤,因為對他的支持還不完善,具體請看最上方的官方文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM