(原) 给Win下的Golang软件加个图标

原创文章,请后转载,并注明出处。

有些人用rsrc,有些人用GoVersionInfo,但我却死活不行。究其原因,估计是产生的syso文件版本问题:因为我用以下这个,它会产生32位版本和64位版本两个文件,而前两个软件,似乎只是产生的32位版本。

我的主角是go-winres,使用其实大同小异。

安装:

go install github.com/tc-hib/go-winres@latest

用法:
  1. 运行 go-winres init ,它将创建 winres 目录

  2. 修改winres目录下winres.json内容

  3. 运行 go-winres make 生成syso文件

也可以在文件中包含://go:generate go-winres make –product-version=git-tag

它将在go generate时自动生成syso文件

另外,我配合上脚本:go build -o %1_%2.exe -ldflags “-w -s -H windowsgui -X main.BUser=%1 -X ‘main.SiteNum=%2’ -X ‘main.SiteMacID=%3’”

它在编译时,替换程序中的几个变量值,达到命令行修改参数的作用,而不需修改程序本身。

相关文章