Golang中国

windows的exe文件右键属性可以查看到版本信息,golang怎么设置这个版本

6 回复
butaixianran
#1 butaixianran • 2016-02-01 19:22
butaixianran
#2 butaixianran • 2016-02-01 19:31

说实话,很麻烦,我们最终用的是更普遍的做法:
命令行提供 version 和 help 参数看版本。

yourmain.exe version

类似这样。。。

famoss
#3 famoss • 2016-02-02 10:07

跑 go generate时获得了这个错误。main.go:1: running “goversioninfo”: exec: “goversioninfo”: executable file not found in %PATH%

devuser
#4 devuser • 2016-02-06 16:11

如下示例在WinXP+Golang 1.5.3并设置环境变量GO15VENDOREXPERIMENT为1的情况下,

  1. 切换到goversioninfo源代码文件夹,%GOPATH%/src/vendor/github.com/josephspurrier/goversioninfo/cmd
  2. 编译goversioninfo go build -o %GOPATH%\bin\goversioninfo.exe main.go
  3. 在环境变量PATH中添加%GOPAH%\bin
  4. 回到你的项目文件夹,本例项目源代码在%GOPATH%\src\goBillProcess
  5. 确保当前文件夹下有versioninfo.json文件,可以从goversioninfo源代码文件夹中找到,并修改FileVersion部分
  6. 在自有项目的main.go文件顶部增加备注行//go:generate goversioninfo -icon=icon_PythonBillProcess.ico,其中icon文件请修改为自己的文件名称
  7. 命令行下执行go generate
  8. 命令行下执行go build -o XXX.exe main.go
  9. 点击XXX.exe右键查看属性

devuser
#5 devuser • 2016-02-06 16:28

实际上,我也没时间这么折腾,
我在项目文件夹做了一个批处理文件,

@echo off
echo ����������������
echo ==========================================
set /a t1=(1%time:~0,2%-100)*1
if %t1% LSS 10 set t1=0%t1%
set ymd_hm=%date:~0,4%%date:~5,2%%date:~8,2%%t1%%time:~3,2%%time:~6,2%
set "Version=v2.2.%ymd_hm%"
echo �汾��: %Version%
@echo on
go clean
go generate
go build -o BillProcess.exe -ldflags "-s -w -X main._VERSION_=%Version%"
set PATH=%PATH%;C:\Program Files\WinRAR;
copy BillProcess.exe "BillProcess_v%ymd_hm%.exe"
rar a "BillProcess_v%ymd_hm%.ra_" "BillProcess_v%ymd_hm%.exe"
@echo off
echo ==========================================
@echo on
ThoseFlowers
#6 ThoseFlowers • 2016-02-08 01:15

golang虽说跨平台,但对Windows其实挺不友好的

需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。