【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文件的属性-常规项:

详细信息项:

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

相关推荐
sycmancia几秒前
Qt——Qt中的标准对话框
开发语言·qt
橙露17 分钟前
Python 对接 API:自动化拉取、清洗、入库一站式教程
开发语言·python·自动化
Omigeq23 分钟前
1.4 - 曲线生成轨迹优化算法(以BSpline和ReedsShepp为例) - Python运动规划库教程(Python Motion Planning)
开发语言·人工智能·python·算法·机器人
2301_8084143824 分钟前
自动化测试的实施
开发语言·python
程序员小崔日记36 分钟前
技术之外,皆是人间
后端·ruoyi·计算机温情
波波00742 分钟前
写出稳定C#系统的关键:不可变性思想解析
开发语言·c#·wpf
不懂的浪漫1 小时前
# mqtt-plus 架构解析(八):Spring Boot 自动装配,这些零件是怎么被粘合起来的
spring boot·后端·物联网·mqtt·架构
dr_yingli1 小时前
fMRI(3-1)报告(个体化报告)生成器说明
开发语言·matlab
hrhcode1 小时前
【java工程师快速上手go】一.Go语言基础
java·开发语言·golang
开心就好20251 小时前
Flutter iOS应用混淆与安全配置详细文档指南
后端·ios