go跨平台编译
實際項目開發中,我們的開發環境可能是win、mac,甚至很多大佬用linux開發,我們有時候需要編譯的目標可執行文件與我們的開發環境不符,可以通過設置以下三個參數來實現:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64當然我們不可能每次都敲這么長的命令,所以我們可以借助Makefile來幫忙我們快速編譯各種版本,現在就帶大家實戰一個案例!
1.首先我們在目錄下創建一個main.go文件
package mainimport "fmt"func main() {fmt.Println("hello world") }2.創建一個Makefile文件
PROJECTNAME = go## linux: 編譯打包linux .PHONY: linux linux:CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build $(RACE) -o main ./main.go## win: 編譯打包win .PHONY: win win:CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build $(RACE) -o main.exe ./main.go## mac: 編譯打包mac .PHONY: mac mac:CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build $(RACE) -o main ./main.go3.完成后我們就可以使用了,如我需要編譯成win可以執行的文件,只需要執行
make win目錄下就會生成一個main.exe文件,如需編譯linux只需要修改上面的win為linux即可
至此編譯完成。
總結
- 上一篇: 关于Elastic、关于Elastics
- 下一篇: 全新C4D必备插件合集他来啦傻瓜式一键安