GoFrame如何编译可执行文件

268 阅读2分钟

我们都知道GoFrame提供了强大的命令行工具,可以让我们在开发的过程中简单的生成可执行文件。现在,让我们一起来看看怎么操作吧。

首先我们需要在hack目录的config.yaml中配置编译选项,我们以windows为例:

windows可执行文件

gfcli:
  build:
    name:     "gf"
    arch:     "amd64"  # 指定架构,可以是 amd64, 386 等
    system:   "windows" # 指定系统为 windows
    mod:      "none"    # 默认为 none,根据需要调整
    packSrc:  "resource,manifest" # 指定需要打包的资源
    version:  "v1.0.0"  # 版本号
    output:   "./bin"   # 输出目录
    extra:    ""        # 额外的编译参数

执行gf build 命令会看到以下输出:

2024-08-11 20:53:52.989 gf pack resource,manifest internal/packed/build_pack_data.go --keepPath=true
2024-08-11 20:53:53.040 done!
2024-08-11 20:53:53.075 start building...
2024-08-11 20:53:53.075 go build -o ./bin main.go
2024-08-11 20:54:01.870 done!
2024-08-11 20:54:01.872 remove the automatically generated resource go file: internal/packed/build_pack_data.go

此时在bin目录下就会生成main.exe的可执行程序了。

注意:

需要在工程中建立bin目录,否则会出现问题

Linux可执行文件

gfcli:
  build:
    name:     "gf"
    arch:     "amd64"   # 指定目标架构为 amd64
    system:   "linux"   # 指定目标系统为 linux
    mod:      "none"    # 模式设置为 none,或根据需要调整
    packSrc:  "resource,manifest" # 打包的资源
    version:  "v1.0.0"  # 版本号
    output:   "./bin"   # 输出目录
    extra:    ""        # 额外的编译参数

Mac可执行文件

gfcli:
  build:
    name:     "gf"
    arch:     "arm64"   # 指定目标架构为 arm64
    system:   "darwin"  # 指定目标系统为 macOS
    mod:      "none"    # 模式设置为 none,或根据需要调整
    packSrc:  "resource,manifest" # 打包的资源
    version:  "v1.0.0"  # 版本号
    output:   "./bin"   # 输出目录
    extra:    ""        # 额外的编译参数