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