日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame開發(fā)工具-交叉編譯

使用方式

$ gf build -h
USAGE
    gf build ARGUMENT [OPTION]

ARGUMENT
    FILE    building file path

OPTION
    -n, --name       output binary name
    -v, --version    output binary version
    -a, --arch       output binary architecture, multiple arch separated with ','
    -s, --system     output binary system, multiple os separated with ','
    -o, --output     output binary path, used when building single binary file
    -p, --path       output binary directory path, default is './bin'
    -e, --extra      extra custom "GO build" options
    -m, --mod        like "-mod" option of "go build", use "-m none" to disable go module
    -c, --cgo        enable or disable cgo feature, it's disabled in default
    -/--pack         pack specified folder into temporary go file before building and removes it after built
    -h, --help       more information about this command

EXAMPLE
    gf build main.go
    gf build main.go --pack public,template
    gf build main.go --cgo
    gf build main.go -m none
    gf build main.go -n my-app -a all -s all
    gf build main.go -n my-app -a amd64,386 -s linux -p .
    gf build main.go -n my-app -v 1.0 -a amd64,386 -s linux,windows,darwin -p ./docker/bin

DESCRIPTION
    The "build" command is most commonly used command, which is designed as a powerful wrapper for
    "go build" command for convenience cross-compiling usage.
    It provides much more features for building binary:
    1. Cross-Compiling for many platforms and architectures.
    2. Configuration file support for compiling.
    3. Build-In Variables.

PLATFORMS
    darwin    amd64,arm64
    freebsd   386,amd64,arm
    linux     386,amd64,arm,arm64,ppc64,ppc64le,mips,mipsle,mips64,mips64le
    netbsd    386,amd64,arm
    openbsd   386,amd64,arm
    windows   386,amd64

僅限于交叉編譯使用到?GoFrame?框架的項(xiàng)目,支持絕大部分常見系統(tǒng)的直接交叉編譯。

成都創(chuàng)新互聯(lián)來(lái)電聯(lián)系:13518219792,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),成都創(chuàng)新互聯(lián)網(wǎng)頁(yè)制作領(lǐng)域10年,包括葡萄架等多個(gè)方面擁有多年設(shè)計(jì)經(jīng)驗(yàn),選擇成都創(chuàng)新互聯(lián),為網(wǎng)站錦上添花!

內(nèi)置編譯變量

?build?命令自動(dòng)嵌入編譯變量,這些變量用戶可自定義,并且在運(yùn)行時(shí)通過(guò)?gbuild?組件獲取。使用?gf build?的項(xiàng)目將會(huì)默認(rèn)嵌入以下變量:

當(dāng)前?Go?版本

當(dāng)前?GoFrame?版本

當(dāng)前?Git Commit?(如果存在)

當(dāng)前編譯時(shí)間

編譯配置文件

?build?支持同時(shí)從命令行以及配置文件指定編譯參數(shù)、選項(xiàng)。?GoFrame?框架的所有組件及所有生態(tài)項(xiàng)目都是使用的同一個(gè)配置管理組件。以下是一個(gè)簡(jiǎn)單的配置示例供參考(以?config.yaml?為例):

gfcli:
  build:
    name:     "gf"
    arch:     "all"
    system:   "all"
    mod:      "none"
    pack:     ""
    version:  "v1.0.0"
    output:   "./bin"
    extra:    ""

配置選項(xiàng)的釋義同命令行同名選項(xiàng)。

 名稱  必須  默認(rèn)值  含義  示例
 ?name?  否  與程序入口go文件同名  生成的可執(zhí)行文件名稱。如果是?windows?平臺(tái),那么默認(rèn)會(huì)加上?.exe?后綴  ?gf?
 ?arch?  否  當(dāng)前系統(tǒng)架構(gòu)  編譯架構(gòu),多個(gè)以?,?號(hào)分隔,如果是?all?表示編譯所有支持架構(gòu)  ?386,amd64,arm?
 ?system?  否  當(dāng)前系統(tǒng)平臺(tái)  編譯平臺(tái),多個(gè)以?,?號(hào)分隔,如果是?all?表示編譯所有支持平臺(tái)  ?linux,darwin,windows?
 ?path?  否  ?./bin?  編譯可執(zhí)行文件存儲(chǔ)的目錄地址  ?./bin?
 ?mod?  否    同?go build -mod?編譯選項(xiàng),不常用  ?none?
 ?cgo?  否  ?0?  是否開啟?CGO?,默認(rèn)是關(guān)閉的。如果開啟,那么交叉編譯可能會(huì)有問(wèn)題。  ?0?
 ?pack?  否    需要打包的目錄,多個(gè)以?,?號(hào)分隔,生成到?packed/data.go?  ?public,template?
 ?version?  否    程序版本,如果指定版本信息,那么程序生成的路徑中會(huì)多一層以版本名稱的目錄  ?v1.0.0?
 ?output?  否    輸出的可執(zhí)行文件路徑,當(dāng)該參數(shù)指定時(shí),?name?和?path?參數(shù)失效,常用于編譯單個(gè)可執(zhí)行文件  ?./bin/gf.exe?
 ?extra?  否    額外自定義的編譯參數(shù),會(huì)直接傳遞給?go build?命令  
 ?varMap?  否    自定義的內(nèi)置變量鍵值對(duì)

gfcli:
  build:
    name:     "gf"
    arch:     "all"
    system:   "all"
    mod:      "none"
    cgo:      0
    pack:     ""
    version:  "v1.0.0"
    output:   "./bin"
    extra:    ""
    varMap:
      k1: v1
      k2: v2

編譯時(shí)的內(nèi)置變量可以在運(yùn)行時(shí)通過(guò)?gbuild?包 構(gòu)建信息?-gbuild? 獲取。

使用示例

$ gf build
2020-12-31 00:35:25.562 start building...
2020-12-31 00:35:25.562 go build -o ./bin/darwin_amd64/gf main.go
2020-12-31 00:35:28.381 go build -o ./bin/freebsd_386/gf main.go
2020-12-31 00:35:30.650 go build -o ./bin/freebsd_amd64/gf main.go
2020-12-31 00:35:32.957 go build -o ./bin/freebsd_arm/gf main.go
2020-12-31 00:35:35.824 go build -o ./bin/linux_386/gf main.go
2020-12-31 00:35:38.082 go build -o ./bin/linux_amd64/gf main.go
2020-12-31 00:35:41.076 go build -o ./bin/linux_arm/gf main.go
2020-12-31 00:35:44.369 go build -o ./bin/linux_arm64/gf main.go
2020-12-31 00:35:47.352 go build -o ./bin/linux_ppc64/gf main.go
2020-12-31 00:35:50.293 go build -o ./bin/linux_ppc64le/gf main.go
2020-12-31 00:35:53.166 go build -o ./bin/linux_mips/gf main.go
2020-12-31 00:35:55.840 go build -o ./bin/linux_mipsle/gf main.go
2020-12-31 00:35:58.423 go build -o ./bin/linux_mips64/gf main.go
2020-12-31 00:36:01.062 go build -o ./bin/linux_mips64le/gf main.go
2020-12-31 00:36:03.502 go build -o ./bin/netbsd_386/gf main.go
2020-12-31 00:36:06.280 go build -o ./bin/netbsd_amd64/gf main.go
2020-12-31 00:36:09.332 go build -o ./bin/netbsd_arm/gf main.go
2020-12-31 00:36:11.811 go build -o ./bin/openbsd_386/gf main.go
2020-12-31 00:36:14.140 go build -o ./bin/openbsd_amd64/gf main.go
2020-12-31 00:36:17.859 go build -o ./bin/openbsd_arm/gf main.go
2020-12-31 00:36:20.327 go build -o ./bin/windows_386/gf.exe main.go
2020-12-31 00:36:22.994 go build -o ./bin/windows_amd64/gf.exe main.go
2020-12-31 00:36:25.795 done!

文章標(biāo)題:創(chuàng)新互聯(lián)GoFrame教程:GoFrame開發(fā)工具-交叉編譯
文章源于:http://m.5511xx.com/article/dpcojsp.html