您的位置:首页 > 其它

怎样在VS2005,VS2008下里用SVN的SubWCRev自增修订号 .

2013-04-26 20:58 309 查看
为了使软件版本号的最后一位,即修订号与由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 宏即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: