golang

Golang交叉编译Windows版本添加文件信息

2023-07-13  本文已影响0人  jios

Golang交叉编译Windows版本添加文件信息和logo等

安装GoVersionInfo

go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@latest

go get github.com/josephspurrier/goversioninfo/cmd/goversioninfo

将刚下载下来的GoVersionInfo 的目录github.com\josephspurrier\goversioninfo\testdata\resource拷贝到我们的工程目录(main.go所在目录).并把目录中的versioninfo.json拷贝到与main.go同目录。

修改文件

在main.go 的第一行添加:

main.go 添加注释 
//go:generate goversioninfo -icon=logo.ico -manifest=goversioninfo.exe.manifest

然后修改与main.go同一级目录下的versioninfo.json文件。将里面的字段“ProductVersion”更改为你想要的版本号即可.(同时也可以修改其他信息如:版权,产品名称,文件说明等)

{
  "FixedFileInfo": {
    "FileVersion": {
      "Major": 1,
      "Minor": 0,
      "Patch": 0,
      "Build": 0
    },
    "ProductVersion": {
      "Major": 1,
      "Minor": 0,
      "Patch": 0,
      "Build": 0
    },
    "FileFlagsMask": "3f",
    "FileFlags ": "00",
    "FileOS": "040004",
    "FileType": "01",
    "FileSubType": "00"
  },
  "StringFileInfo": {
    "Comments": "",
    "CompanyName": "公司",
    "FileDescription": "文件描述",
    "FileVersion": "v1.0.0.0",
    "InternalName": "",
    "LegalCopyright": "公司保留所有权利",
    "LegalTrademarks": "",
    "OriginalFilename": "",
    "PrivateBuild": "",
    "ProductName": "工具名",
    "ProductVersion": "v1.0.0.0",
    "SpecialBuild": ""
  },
  "VarFileInfo": {
    "Translation": {
      "LangID": "0804",
      "CharsetID": "04B0"
    }
  },
  "IconPath": "logo.ico",
  "ManifestPath": ""
}

LangID:0804 表示中文
具体来源VarFileInfo

编译文件

首先用,go generate 命令生成resource.syso资源文件
再用,go build 命令生成EXE文件

参考shell脚本

#! /bin/bash
go generate
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o myapp.exe

参考来源

上一篇 下一篇

猜你喜欢

热点阅读