分享一个真实的场景:
同学用 go 开发项目后,打包成 exe 交给客户后,客户反馈,你的二进制包像病毒。
默认的二进制图标真的好丑好丑,于是客户要求给换一个好看的图标,于是记录下:
网上一查,还挺多能实现这需求的库,于是我选择了 https://github.com/akavel/rsrc 这个库,因为我觉得他简单。
一、安装
这里有个坑,大部分文档都告诉你,使用命令:
代码语言:javascript
复制
go get github.com/akavel/rsrc
然后后面的命令你就无法找到 rsrc 命令,因为新版的 go get 不会给你在 path 生成 exe 文件。
所以得换 install 命令:
代码语言:javascript
复制
go install github.com/akavel/rsrc
二、准备 ico 图标
别问为啥是 ico 图标,而不是 png 之类的,问就是固定搭配。
如果你只有 png 图片,可以自行网上找下,有不少在线 png 图片转 ico 的网站,我这里推荐一个吧:https://cloudconvert.com/png-to-ico
为什么是 png 格式图片,因为他能支持底部透明。
一个注意点,你的 ico 文件不要搞太大,最大 256,再大就不能显示了。
三、生成 syso 文件
使用刚才的 rsrc 工具将 ico 文件转换成 syso 文件,命令如下:
代码语言:javascript
复制
rsrc -ico main.ico -o main.syso
解析下这行命令:-ico 是指定你的 ico 文件,-o 是输出路径。
这一步,要在项目 main 入口文件的地方执行。
四、正常打包即可
现在你只要正常打包即可,你的 exe 文件,就不再那么黑布隆冬了。