【REST2SQL】09 给Go的可执行文件exe加图标和版本信息等

【REST2SQL】01RDB关系型数据库REST初设计
【REST2SQL】02 GO连接Oracle数据库
【REST2SQL】03 GO读取JSON文件
【REST2SQL】04 REST2SQL第一版Oracle版实现
【REST2SQL】05 GO 操作 达梦 数据库
【REST2SQL】06 GO 跨包接口重构代码
【REST2SQL】07 GO 操作 Mysql 数据库
【REST2SQL】08 日志重构增加输出到文件log.txt

给Go编译出来的可执行exe文件增加自己的图标和版本信息。比如下边的图标:

Step1 安装依赖包

在cmd命令行执行:

复制代码
go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@latest

执行完毕后 GOPATH 的 bin 目录里出现一个 goversioninfo.exe

gopath目录下有类似 src\github.com\josephspurrier\goversioninfo\cmd\goversioninfo 的目录及文件

则为成功。

Step2 打开源码增加一样注释

我在 rest2sql.go加如下注释

复制代码
// rest2sql project rest2sql.go
/* package上的第一行注释增加图标及版本信息
Step 1 go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@latest
执行完毕后 GOPATH 的 bin 目录里出现一个 goversioninfo.exe 则为成功。
Step 2 //go:generate goversioninfo
Step 3 在项目目录创建一个文件名为versioninfo.json
Step 4 准备一个图标文件
Step 5 go generate
Step 6 go build
*/
//go:generate goversioninfo
package main
......

最关键的是package main 紧挨着的一行注释

复制代码
//go:generate goversioninfo
package main

Setp3 创建一个文件名为versioninfo.json的json文件

在项目目录创建一个文件名为versioninfo.json的json文件,文件内容如下:

复制代码
{
    "FixedFileInfo": {
        "FileVersion": {
            "Major": 0,
            "Minor": 24,
            "Patch": 1,
            "Build": 11
        },
        "ProductVersion": {
            "Major": 0,
            "Minor": 24,
            "Patch": 1,
            "Build": 11
        },
        "FileFlagsMask": "3f",
        "FileFlags ": "00",
        "FileOS": "040004",
        "FileType": "01",
        "FileSubType": "00"
    },
    "StringFileInfo": {
        "Comments": "REST2SQL.exe",
        "CompanyName": "5217股务院",
        "FileDescription": "REST2SQL",
        "FileVersion": "v1.0.0.0",
        "InternalName": "rest2sql.go",
        "LegalCopyright": "Copyright (c) 2024 白龙马5217",
        "LegalTrademarks": "",
        "OriginalFilename": "REST2SQL.exe",
        "PrivateBuild": "",
        "ProductName": "REST2SQL",
        "ProductVersion": "v0.24.1.11",
        "SpecialBuild": ""
    },
    "VarFileInfo": {
        "Translation": {
            "LangID": "0804",
            "CharsetID": "04B0"
        }
    },
    "IconPath": "ZSMa.ico",
    "ManifestPath": ""
}

Setp4 准备图标ZSMa.ico

精心准备一个 ico 图标命名为 ZSMa.ico 放到项目目录。

Step5 生成图标及版本资源文件

在cmd命令行执行命令:

复制代码
go generate

成功则会在目录中生成一个resource.syso文件,只用生成一次就行了,改变了json或图标的话,需要再次生成。

Step6 编译exe文件

在cmd命令行执行命令:

复制代码
go build

到此图标和版本信息添加完毕。项目文件目录如下:

Step7 看效果

打开rest2sql.exe文件的属性-常规项:

详细信息项:

是不是很哇哦+哇噻!!!

相关推荐
淇奥727 分钟前
【MyBatis-Plus】MyBatis-Plus 学习笔记
后端
_code_bear_31 分钟前
OpenSpec CLI 与 OPSX 工作流说明
前端·后端·架构
香蕉鼠片36 分钟前
算法过程中不会的
开发语言·c++
阿旭超级学得完43 分钟前
C++11包装器(function和bind)
java·开发语言·c++·算法·哈希算法·散列表
輕華44 分钟前
uv工具详解——Python包与项目管理器完全指南
开发语言·python·uv
用户8356290780511 小时前
使用 Python 在 PowerPoint 中添加并控制音频播放
后端·python
用户8356290780511 小时前
使用 Python 在 PowerPoint 中生成并自定义饼图与环形图
后端·python
念何架构之路1 小时前
Go语言常见并发模式
开发语言·后端·golang
Cosolar1 小时前
大模型应用开发面试 • 第4期|A2A、复杂挑战与具身智能
人工智能·后端·面试