常用方法分两步:

1. 得到编译时间;
2. 设置基准时间,以编译时间距基准时间的总天数的2倍作为版本号,适当情况还可加上初值;
其中第一步实现有两种方法:
1. 直接使用系统宏:CString OcxTime = __DATE__;
2. 在编译选项的Pre-link Step中调用批处理文件.bat:
@echo off echo #pragma once>"Ver.h" echo #define APP_VER_NUM "%data%">>"Ver.h"
其它网友的补充
使用宏__DATE__和__TIME__
CString strVersion,strBuildTime;
strBuildTime = __DATE__;
strBuildTime.Append(" ");
strBuildTime.Append(__TIME__);
COleVariant vtime(strBuildTime);
vtime.ChangeType(VT_DATE);
COleDateTime dateTime=vtime;
SYSTEMTIME systime;
VariantTimeToSystemTime(dateTime, &systime);
CTime buildTime(systime);
strVersion = buildTime.Format(" Builded %Y-%m-%d %H:%M:%S ");
it一梦同学的补充
一般来说,发布的正式软件都会包含程序的svn版本号以及软件的编译版本和编译时间等信息,但是这些东西并不是默认就存在的,需要我们进行一些步骤的处理。具体做法有几种,万变不离其宗的是,利用SVN自带的指令获取到版本号以及当前时间,填充模板当中的占位符,最后用替换后的模板覆盖资源文件即可。这里只讲最简单的一种:
a. 首先需要给VC程序添加资源文件,假设程序名为Test,则资源文件为Test.rc
b. 向资源文件中添加新的资源项——version,资源文件用记事本打开,增加了如下代码:
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "080404b0"
BEGIN
VALUE "FileDescription", "Test"
VALUE "FileVersion", "1, 1, 1, 0"
VALUE "InternalName", "Test"
VALUE "LegalCopyright", "Copyright (C) 2015"
VALUE "OriginalFilename", "Test.exe"
VALUE "ProductName", "Microsoft"
VALUE "ProductVersion", "V1.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x804, 1200
END
END
c. 接下来创建一个模板,利用SVN提供的占位符WCREV获取版本号,WCNOW获取编译时间。模板可以直接复制Test.rc文件,更名为Test.rc2。修改上述代码中的ProductVersion的值即可:
VALUE "ProductVersion", "V2.1.1.$WCREV$.(Build$WCNOW$)"
d. 那么何时进行占位符的替换,随后替换程序的资源文件Test.rc,准确的将版本号与编译时间编译进程序呢?VS提供了一个Build Events配置,我们选择Pre-Build Event,增加一行代码如下:
SubWCRev $(ProjectDir) $(ProjectDir)\Test.rc2 $(ProjectDir)\Test.rc
代码的意思是在程序编译之前,用SVN的脚本工具SubWCRev获取到工程目录的SVN号以及当前的编译时间,替换rc2文件中的占位符,覆盖到rc文件中。
# 编译时间
# 版本号
# 的是
# 是在
# 万变不离其宗
# 可以直接
# 几种
# 还可
# 自带
# 有两种
# 最简单
# 创建一个
# 增加了
# 具体做法
# 只讲
# 批处理文件
# 分两步
# 更名为
# Append
# strBuildTime
# COleVariant
# ChangeType
相关文章:
c# await 一个已经完成的Task会发生什么
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
,有什么在线背英语单词效率比较高的网站?
上海网站制作开发公司,上海买房比较好的网站有哪些?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
用v-html解决Vue.js渲染中html标签不被解析的问题
C#怎么创建控制台应用 C# Console App项目创建方法
建站之星后台管理系统如何操作?
c# 在ASP.NET Core中管理和取消后台任务
建站之星代理费用多少?最新价格详情介绍
建站主机是否等同于虚拟主机?
建站之星图片链接生成指南:自助建站与智能设计教程
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
在线教育网站制作平台,山西立德教育官网?
建站之星安装后如何自定义网站颜色与字体?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
网站制作难吗安全吗,做一个网站需要多久时间?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何通过IIS搭建网站并配置访问权限?
如何用wdcp快速搭建高效网站?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
如何自定义建站之星网站的导航菜单样式?
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
北京企业网站设计制作公司,北京铁路集团官方网站?
建站之星如何防范黑客攻击与数据泄露?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
高端建站三要素:定制模板、企业官网与响应式设计优化
,石家庄四十八中学官网?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
重庆市网站制作公司,重庆招聘网站哪个好?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
Swift开发中switch语句值绑定模式
如何用好域名打造高点击率的自主建站?
如何快速搭建高效可靠的建站解决方案?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
如何正确选择百度移动适配建站域名?
相册网站制作软件,图片上的网址怎么复制?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
英语简历制作免费网站推荐,如何将简历翻译成英文?
大同网页,大同瑞慈医院官网?
如何做网站制作流程,*游戏网站怎么搭建?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
*请认真填写需求信息,我们会在24小时内与您取得联系。