golangEXE程序添加图标和详细信息(版本号,版权,公司信息等)
golang EXE程序添加图标和详细信息(版本号,版权,公司信息等)
为什么要添加图标和详细信息
作为桌⾯程序,有⼀个图标,显得更正式⼀些。详细信息有版本号⽅便做版本识别。算了,编不下去了。不管那么多,反正别⼈有这些,你就应该有这些功能(⽆奈)。golang 作为⼀个后端语⾔,对windows 界⾯编程⽀持不是那么友好,直接添加图标和详细信息有⼀定难度。还好有第三⽅库–GoVersionInfo,可以帮助我们解决这⼀难题。
什么是GoVersionInfo
githup,描述如上所⽰。⼤意是:GoVersionInfo是⽤于Go语⾔的Microsoft Windows⽂件属性/版本信息和图标资源⽣成器
怎么客户程序包将创建⼀个syso⽂件,其中包含Microsoft Windows版本信息和⼀个可选图标。当您运⾏“ go build”时,Go将在可执⾏⽂件中嵌⼊版本信息以及可选图标和可选清单。如果它与main()函数位于同⼀⽬录中,则Go将⾃动使⽤syso⽂件。
安装GoVersionInfo
要安装,请运⾏以下命令:
go get github/josephspurrier/goversioninfo/cmd/goversioninfo
这⾥默认,你已经安装golang并配置好GOPATH,GOROOT等环境变量.同时也安装了git bash.
⽂件⽬录布局
将刚下载下来的GoVersionInfo 的⽬录github\josephspurrier\goversioninfo\testdata\resource拷贝到我们的⼯程⽬录(所在⽬录).并把⽬录中的versioninfo.json拷贝到与同⽬录。
⽬标布局如下图:
修改⽂件
在 的第⼀⾏添加:
//go:generate goversioninfo -icon=resource/icon.ico -manifest=anifest
然后修改与同⼀级⽬录下的versioninfo.json⽂件。将⾥⾯的字段“ProductVersion”更改为你想要的版本号即可.(同时也可以修改其他信息如:版权,产品名称,⽂件说明等)
编译命令
⾸先⽤,go generate 命令⽣成resource.syso资源⽂件
再⽤,go build 命令⽣成EXE⽂件。这⾥需要⽤Directory的⽅式编译,不能⽤File的⽅式编译。(也就是不能⽤go 这种⽅式)。原因是通过Directory的⽅式编译,编译器会⾃动寻同⽬录下的资源⽂件并打包进EXE。
在编译过程中,你可能会遇到如下报错:
C:\Go\pkg\tool\windows_: running gcc failed: exit status 1
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/ e: i386 architecture of input file `C:\Users\hjd\AppData\Local\Temp\go-link-681106599\000000.o' is incompatible with i386:x86-64 output番茄炒蛋的做法与步骤
<: error: ld returned 1 exit status
上⾯的解决办法是,编译时带⼀下参数
-ldflags="-linkmode internal"
所以,编译命令是:go build - -ldflags="-linkmode internal"克罗地亚vs日本预测
简单点说,直接执⾏以下命令即可:
go generate
广东车牌号城市代号go build - -ldflags="-linkmode internal"
小心翼翼照样子写词语编译成功后,右键查看属性吧
网洛游戏排行榜
如有疑问,欢迎在评论区留⾔
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论