利用SVN实现自动版本号生成

本文介绍了如何在Windows环境下,使用MS VC++和SVN工具SubWCRev.exe自动生成程序版本号。通过创建批处理文件调用SVNVersionGen.exe,可以自动更新.H文件中的版本号和.rc资源文件中的版本信息,确保每次编译时版本号都能得到更新。
摘要由CSDN通过智能技术生成

 环境:Windows / MS VC++

SVN是当前比较流行的版本控制软件,下面主要介绍通过SVN在程序编译时自动生成版本号。

基本思想:利用SubWCRev.exe获取版本信息,读入屏幕流,生成包括版本号信息的“.H文件”,并修改“.rc资源文件”中的版本信息,“.H文件”主要用于关于框中的版本显示,简单格式如下:

#ifndef __SVN_VERSION_MAX
#define __SVN_VERSION_MAX XXX
#endif

用下面附录的源码编译SVNVersionGen.exe

使用说明:

建立一个批处理文件

setlocal

设置TortoiseSVN安装目录
set SVN_PATH=D:/Program Files/TortoiseSVN/bin 
设置解决方案目录
set WORK_DIR=e:/My Documents/Visual Studio Projects/XXX
设置版本号,前三位
set VERSION_M="1,X,X"
set VERSION_S="1, X, X"

SVNVersionGen -HEADER "%SVN_PATH%" "%WORK_DIR%" "SVNVersion.h"

设置子项目名称
set PRO1_NAME=PROJECT1
SVNVersionGen -RESVERSION "%SVN_PATH%" "%WORK_DIR%/%PRO1_NAME%" "%WORK_DIR%/%PRO1_NAME%/%PRO1_NAME%.rc" %VERSION_M% %VERSION_S%

设置子项目2名称
set PRO1_NAME=PROJECT2
SVNVersionGen -RESVERSION "%SVN_PATH%" "%WORK_DIR%/%PRO1_NAME%" "%WORK_DIR%/%PRO1_NAME%/%PRO1_NAME%.rc" %VERSION_M% %VERSION_S%
endlocal


源码:

// SVNVersionGen.cpp

#include "stdafx.h"
#include<string>
#include<windows.h>
#include<iostream&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值