go跨平台编译
實(shí)際項(xiàng)目開(kāi)發(fā)中,我們的開(kāi)發(fā)環(huán)境可能是win、mac,甚至很多大佬用linux開(kāi)發(fā),我們有時(shí)候需要編譯的目標(biāo)可執(zhí)行文件與我們的開(kāi)發(fā)環(huán)境不符,可以通過(guò)設(shè)置以下三個(gè)參數(shù)來(lái)實(shí)現(xiàn):
CGO_ENABLED=0 GOOS=linux GOARCH=amd64當(dāng)然我們不可能每次都敲這么長(zhǎng)的命令,所以我們可以借助Makefile來(lái)幫忙我們快速編譯各種版本,現(xiàn)在就帶大家實(shí)戰(zhàn)一個(gè)案例!
1.首先我們?cè)谀夸浵聞?chuàng)建一個(gè)main.go文件
package mainimport "fmt"func main() {fmt.Println("hello world") }2.創(chuàng)建一個(gè)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可以執(zhí)行的文件,只需要執(zhí)行
make win目錄下就會(huì)生成一個(gè)main.exe文件,如需編譯linux只需要修改上面的win為linux即可
至此編譯完成。
總結(jié)
- 上一篇: 关于Elastic、关于Elastics
- 下一篇: 全新C4D必备插件合集他来啦傻瓜式一键安