为了使软件版本号的最后一位,即修订号与由svn管理的代码库修订号保持一致并自动更新,可以利用VS2005的生成事件和 svn 中的 subwcrev 程序实现,步骤如下:
工具/原料
- Visual Studio 2005
- SVN 客户端( TortoiseSVN 或其他 )
步骤/方法
- 编写一个模板文件,比如取名为 version_template.h,内容如下
#ifndef _VERSION_H_
#define _VERSION_H_
#define VER_MAJOR 1
#define VER_MINOR 0
#define VER_REVISION $WCREV$
#endif //!_VERSION_H_ - 找到 subwcrev.exe 可执行文件,一般在 svn 客户端的安装目录下,比如 TortoiseSVN 是在其安装目录的bin文件夹下。这里,笔者将 subwcrev.exe 复制到了代码工程目录下,方便使用。
- 在VS2005的项目属性页->预生成事件->命令行中添加一句:
$(SolutionDir)\subwcrev.exe $(SolutionDir) $(SolutionDir)\src\qmlv\version_template.h $(SolutionDir)\src\qmlv\version.h
SubWCRev 调用语法:
SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] - 这样,代码编译通过后,预生成事件被触发,VS2005 调用SubWCRev.exe程序,替换version_template.h中的宏$WCREV$为当前的svn修订号,并另存为 version.h文件,version.h 会类似于:
#ifndef _VERSION_H_
#define _VERSION_H_
#define VER_MAJOR 1
#define VER_MINOR 0
#define VER_REVISION 2821
#endif //!_VERSION_H_
- 在程序中需要显示版本号的地方,引用 VER_REVISION 宏即可。
分类:
工具/插件 开发与使用
, SVN/git
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2012-04-26 css中float left与float right clear的原理使用说明图解