80.go编译的exe程序添加图标和版权信息等 - Go语言中文社区

80.go编译的exe程序添加图标和版权信息等


写好go程序代码,编译之后就得到一个可执行程序。直接编译的结果是一个系统默认图标的样式。而且,文件属性里查看版权信息、版本信息、公司信息都是空的。

获得一个ico图标

如果你有喜欢的图标,直接就是ico格式的。那么就省掉当前这步了。如果你只是找到一张你喜欢的图片,而它还是普通图片格式。那么,你可以在网上找图片转成ico的网站去转换一下。
当然,这样处理,有时候拿到的结果是不够精致。
如果你会ps软件的话,把图片大小调整为 256 * 256的大小,选择“另存”图片,另存的图片类型中,就有 ico 选项了。当然,如果你的ps版本不包含这样的功能,你就需要找其他办法去解决了。

你需要MinGW

为了生成一个中间文件 ***.syso,我们需要使用MinGW。这个可以免费获得,你访问http://mingw.org/,找到下载页面,

下载栏目菜单
然后点击这个下载链接图标
下载链接图标位置
安装之后有一个这样的图标
image.png

打开它,选择要安装的组件,
这些空白的是没有安装的
点击之后选择"Mark for Installation"
Mark for Installation
画上一个小勾之后,就等待下一步了
等待安装的状态
选择执行安装
选择菜单执行安装

点击 Apply 安装

安装好之后的样子
安装完毕

要记住你选择安装的位置,我的安装在了C盘根路径上。
c盘里的样子
下一步,需要把bin路径添加的系统环境变量中。
环境变量
选择“path”,进行“编辑”
编辑按钮
新建一条
虽然windows不区分大小写,也要养成好习惯

试着在命令行窗口分别敲命令
gcc -v
g++ -v
来测试是否安装成功了MinGW
安装成功就是这样的反应

一个rc文件

下面你需要制作一个后缀为.rc的文件。是的这是C、c++里的范畴,gcc不就是c++的编译器吗?所以这没什么奇怪的。我采用了vs code,建立一个demo.rc文件。写入下面的内容


1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEOS 0x40004
FILETYPE 0x1
{
BLOCK "StringFileInfo"
{
    BLOCK "040904B0"
    {
        VALUE "CompanyName", "ShanXiXiYueManCangKeJiYouXianGongSi"
        VALUE "FileDescription", "Cofox Hold Amazon Best Sellers Top100"
        VALUE "FileVersion", "1.0.0.0"
        VALUE "InternalName", "CofoxHoldAmazonTop100"
        VALUE "LegalCopyright", "Copyright (C)2019 Www.Cofox.Com. All rights reserved."
        VALUE "OriginalFilename", "CofoxAmazonBestSellersHold.exe"
        VALUE "ProductName", "CofoxHoldAmazonTop100"
        VALUE "ProductVersion", "1.0.0.0"
    }
}




BLOCK "VarFileInfo"
{
    VALUE "Translation", 0X0409, 0X04B0
}
}



IDI_ICON1 ICON "cofox.ico"

这里面的代码的意思,你可以在这个网址查阅https://docs.microsoft.com/zh-cn/windows/win32/menurc/stringfileinfo-block?redirectedfrom=MSDN这里面包含了公司名称、版本信息、版权信息、程序名称等等。还有图标名称。
然后,请把这个demo.rc文件和cofox.ico文件放在一个路径下,以方便生成demo.syso。
使用下面的命令生成.syso文件

windres -o demo.syso demo.rc

最后一步

把刚刚生成的demo.syso文件与要编译的.go文件放在同一个路径,然后就可以go build生成最终的可执行文件了。如果你不是直接使用go命令来build,而是使用vs code、goland、sublime text、LiteIDE等等,也一样要把demo.syso文件放到和.go文件的同一路径下,然后执行build操作。


成功添加了ico图标和各种信息
版权、版本说明等信息

【注】编译无命令行窗口的应用,请用如下命令
go build -ldflags "-H windowsgui" main.go

版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/7de0f8e9e43f
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-01-12 11:45:25
  • 阅读 ( 1025 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢