Loading... ### 一、获取所需的工具 - GoVersionInfo ```Go go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@latest ``` - 执行完毕后`GOPATH`的*bin*目录里出现一个`goversioninfo.exe`则为成功。 > 此处请注意,建议把Go环境变量`GO111MODULE`的值设置为`auto` > > GO111MODULE=auto > ### 二、源码设置 - 关键代码:`//go:generate goversioninfo` - 在需要编译的文件第一行添加,如: ```go //go:generate goversioninfo package main ``` ![image-20220824222856389](https://img.wsczx.com/20220824222903.png) ### 三、定义版本信息 - 在项目目录创建一个名为`versioninfo.json`的**json**文件,内容如下: ```json { "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": "Copyright (c) 2022 GuHong", "LegalTrademarks": "", "OriginalFilename": "这是原始文件名", "PrivateBuild": "", "ProductName": "这是产品名称", "ProductVersion": "v1.0.0.0", "SpecialBuild": "" }, "VarFileInfo": { "Translation": { "LangID": "0804", "CharsetID": "04B0" } }, "IconPath": "icon.ico", "ManifestPath": "" } ``` ### 四、编译程序 - 找一个ico图标命名为icon.ico放到项目目录。 ![image-20220824223308390](https://img.wsczx.com/20220824223842.png) - 然后在项目目录执行命令: ```go go generate //或者执行 goversioninfo ``` - 成功则会在目录中生成一个resource.syso文件,只用生成一次,改变了json文件内容或图标的话,需要再次生成。 ![image-20220824224015255](https://img.wsczx.com/20220824224015.png) - 最后执行 ```go go build //直接编译 //或者执行 go build -ldflags "-s -w" //减小编译后的文件大小 ``` > 注:以上所有操作均在项目根目录下操作 > ### 五、展示效果 ![image-20220824224343001](https://img.wsczx.com/image-20220824224343001.png) Last modification:October 24, 2023 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 如果觉得我的文章对你有用,请随意赞赏
One comment
你好,【微信ganenboy】看完你的博客文章,感觉很不错!希望与你网站首页友情链接
流量卡知识网
http://53go.cn/
专注于移动 / 联通 / 电信运营商官方推出的大流量多语音活动长短期套餐手机卡的相关知识的介绍普及
如果同意的话就回复或邮件【internetyewu@163.com】