现在位置: 首页  >  编程技术  >  Go
如何给go程序添加图标
0 12

1. 在编译前添加资源(推荐)

使用前面提到的方法,在编译前准备好资源文件:

bash

# 安装 rsrc 工具go install github.com/akavel/rsrc@latest# 生成包含图标的资源文件rsrc -ico myicon.ico -o rsrc.syso# 编译程序(会自动包含 rsrc.syso)go build -o myapp.exe

这是最可靠的方法,因为资源是在编译过程中直接嵌入的。

2. 使用 rcedit 工具

rcedit 是一个专门为修改可执行文件资源设计的工具,可能比 Resource Hacker 更适合处理 Go 编译的可执行文件:

  1. 下载 rcedit: rcedit on GitHub   https://github.com/electron/rcedit/releases

  2. 使用命令行添加图标:

bash

rcedit "myapp.exe" --set-icon "myicon.ico"

3. 使用 GoVersionInfo 先添加基本资源结构

  1. 安装和使用 goversioninfo 创建基本资源结构:

bash

go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@latest# 创建简单的 versioninfo.jsonecho {  "FixedFileInfo": {    "FileVersion": {      "Major": 1,      "Minor": 0,      "Patch": 0,      "Build": 0    }  },  "IconPath": "myicon.ico"} > versioninfo.json# 生成资源文件goversioninfo -o=rsrc.syso# 编译go build -o myapp.exe

这样生成的可执行文件会有正确的资源结构,之后再用 Resource Hacker 修改可能会更成功。

4. 使用 windres(MinGW 提供)

如果你有安装 MinGW 或类似工具链:

  1. 创建一个 .rc 文件:

txt

// myresource.rcMAINICON ICON "myicon.ico"
  1. 编译资源:

bash

windres -i myresource.rc -o rsrc.syso -O coff
  1. 编译 Go 程序:

go build

总结和建议

如果 Resource Hacker 无法处理 Go 编译的可执行文件,最佳实践是:

  1. 采用预编译方式:使用 rsrc 或 goversioninfo 在编译前准备资源文件,这是最可靠的方法

  2. 使用专用工具:尝试 rcedit 这类专门为修改 PE 文件设计的工具

  3. 最小化资源:如果只需要添加图标,使用最简单的方法(如 rsrc -ico)可以减少出错机会

这些方法都可以帮助你成功地为 Go 编译的 Windows 可执行文件添加图标和其他资源。


 评论
 站内搜索